c언어
C언어 - Command line argument 를 사용
pi92
2021. 3. 8. 18:55
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//명령행 입력 파일 출력 파일 기능
//frw 표준 파일 표준 파일 키보드로 입력한 내용을 화면으로 출력
//frw @ test.txt 표준 파일 일반 파일 키보드로 입력한 내용을 일반파일로 출력
//frw test.txt 일반 파일 표준 파일 일반파일의 내용을 화면으로 출력
//frw test1.txt test2.txt 일반 파일 일반 파일 일반파일의 내용을 일반파일로 출력
int main(int argc, char* argv[])
{
int c;
FILE *fp1, *fp2;
if (argc == 1) { // frw즉 파일을 실행 할 경우는 argc가 1이 된다. 키보드로 친 글자들이 모니터에 출력.
while ((c = getc(stdin)) != EOF)
putc(c, stdout);
}
else if (argc == 2) { // frw와 텍스트 파일을 입력 하였을 경우 입력한 텍스트파일을 모니터에 출력한다.
fp1 = fopen(argv[1], "r");
while ((c = getc(fp1)) != EOF)
putc(c, stdout);
}
else if (argc == 3) { // @가 입력될경우 3번째 텍스트 파일에 입력한 내용을 복사한다.
if (!strcmp(argv[1], "@")) {
fp1 = fopen(argv[2], "w");
while ((c = getc(stdin)) != EOF)
putc(c, fp1);
}
else { // 파일을 두개 입력하였을 경우 1번에 있는 파일의 내용을 2번에 입력한다.
fp1 = fopen(argv[1], "r");
fp2 = fopen(argv[2], "w");
while ((c = getc(fp1)) != EOF)
putc(c, fp2);
}
}
else {
printf("wronginput\n");
exit(1);
}
}
return 0;
}