1. 기본 - Command line argument
#include <stdio.h>
int main(int argc, char* argv[])
{
int i;
printf("Hello World!!\n");
printf("agrc = %d\n", argc);
for (i = 0; i < argc; i++)
printf("argv[%d] = %s\n", i ,argv[i]);
return 0;
}
exe파일을 실행하여 파일이름을 만약에 CLA.exe로 지었다고 가정하면
cmd로 파일경로를 찾아 들어가서, CLA.exe를 검색하면
실행결과
Hello World!!
argc = 1
argv[0] = CLA.exe
추가로 CLA.exe에 I Love You Always라고 적을 시
cmd에
CLA.exe I Love You Always
입력 시
실행결과
Hello World!!
argc = 5
argv[0] = CLA.exe
argv[1] = I
argv[2] = Love
argv[3] = You
argv[4] = Always
2. 실습 - Command line argument를 사용하여 아래의 table을 만족시키는 프로그램을 만드시오.
명령행 | 입력파일 | 출력파일 | 기능 |
frw4 | 표준 파일 | 표준 파일 | 키보드로 입력한 내용을 화면으로 출력 |
frw4 @ test.txt | 표준 파일 | 일반 파일 | 키보드로 입력한 내용을 일반파일로 출력 |
frw4 test.txt | 일반 파일 | 표준 파일 | 일반파일의 내용을 화면으로 출력 |
frw4 test1.txt test2.txt | 일반 파일 | 일반 파일 | 일반파일의 내용을 일반파일로 출력 |
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
int main(int argc, char* argv[])
{
FILE* fp1;
FILE* fp2;
int c;
int i = 0;
if (argc == 1)
{
while ((c = getchar()) != EOF)
putchar(c);
}
else if (argc == 2)
{
fp1 = fopen(*(argv + 1), "r");
if (fp1 == NULL)
{
printf("File error\n");
exit(1);
}
else
{
while ((c = getc(fp1)) != EOF)
putchar(c);
fclose(fp1);
}
}
else if (argc == 3)
{
if (strcmp(*(argv + 1), "@") == 0)
{
fp1 = fopen(*(argv + 2), "w");
if (fp1 == NULL)
{
printf("File Error\n");
exit(1);
}
else
{
while ((c = getchar()) != EOF)
putc(c, fp1);
fclose(fp1);
}
}
else
{
fp1 = fopen(*(argv + 1), "r");
fp2 = fopen(*(argv + 2), "w");
if (fp1 == NULL)
{
printf("File error\n");
exit(1);
}
else
{
while ((c = getc(fp1)) != EOF)
putc(c, fp2);
fclose(fp2);
}
}
}
else
{
printf("Wrong input\n");
exit(1);
}
return 0;
}
실행결과
'Tech Blog > C and C++' 카테고리의 다른 글
c언어 - 다차원배열의 활용 (0) | 2021.06.13 |
---|---|
C언어 exe파일 만들고 실행하기 (0) | 2021.06.11 |
C언어 - 연결리스트 만들기 [실습 포함] (0) | 2021.06.10 |
C언어 - 문자와 문자열 (실습포함) (0) | 2021.06.10 |
C언어 - 물고기게임 (포인터와 배열 활용) (0) | 2021.06.09 |