main() 매개변수

한준수·2023년 6월 19일
0

C-Lang

목록 보기
10/12

⌨ main함수에서 매개변수를 사용하는 법

#include<stdio.h>

void main(int argc, char* argv[]){
	int i;
    FILE *rfp;
    
    if(argc != 2){
    // argc 가 2일 때 매개변수가 1개인 이유는
    // c 프로그램을 실행할 때 소스명까지 매개변수로 받기 때문
    	printf("\n-- 매개변수를 1개 사용하세요 --\n");
        return;
    }
    // 첫 번째 매개변수로 넘어온 것을 읽기 모드로 연다.
    rfp = fopen(argv[1], "r");
    
    for(;;){
    //파일의 내용을 한 줄 읽어옴
    	fgets(str,199,rfp); 
        
        //만약 파일의 끝을 만나면 무한루프를 종료
        if(feof(rfp))
        	break;
            
        // 읽을 내용 출력
        printf("%s",str);
    }
    
    fclose(rfp);
}

argc로 매개변수의 개수를 확인하고 argv로 매개변수로 받은 값을 처리한다.


📃퀴즈

도스 명령어 중 copy 명령어와 동일하게 텍스트 파일을 복사하는 프로그램을 작성하시오.

  • 실행결과

  • 정답

#include<stdio.h>

void main(int argc, char *argv[]){
	char str[200];
	FILE *rfp;
    FILE *wfp;
    
    if(argc != 3){
    	printf("매개변수를 2개 입력해주세요\n");
        return;
    }
    
    rfp = fopen(argv[1],"r");
    wfp = fopen(argv[2],"w");
    
    while(1){
    	fgets(str,199,rfp);
        
        if(feof(rfp))
        	break;
        fputs(str,wfp);
        printf(str);
    }
    fclose(rfp);
    fclose(wfp);
}

0개의 댓글