ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • fprintf()
    Visual Studio/C 기초 2012. 10. 22. 21:18

    형식화된 파일 입출력은 특정 방법으로 형식화된 텍스트와 숫자 데이터를 다루는데요, fprintf()는 전 포스팅에 다뤘기 때문에 간단히만 알고 넘어가겠습니다.

    fprintf(FILE *fp, char *fmt,...);

    FILE *fp는 *fp에 자신이 입력할 내용을 보낼 포인터를 뜻합니다. 예제를 보시면 아실겁니다. :)

    마지막 ...엔 변칙적인 개수의 인수를 뜻하는데, 파일 포인터와 형식화 문자열을 인수로 가지면서 추가로 필요한 만큼 많은 인수를 받아 들일 수 있습니다. printf()와 많이 유사합니다.

    fprintf()를 사용해 저번에 제가 C드라이브에 만든 hello.bat 파일에 입력해보겠습니다.

     

    #include <stdio.h>
    #include <stdlib.h>

    void clear(void); // stdin안의 불필요한 내용을 제거하기 위해 만든 함수
    main(){
     FILE *fp;
     float data[5];
     int count;
     char filename[20];
     puts("5개의 부동 소숫점 값을 입력해주세요 : ");
     for(count=0; count<5; count++)
      scanf("%f",&data[count]);

     clear();
     printf("불러올 파일 이름을 입력해주세요 : ");
     gets(filename);

     if( (fp = fopen(filename,"w")) == NULL){
      fprintf(stderr,"%s파일을 읽어들이는데 실패했습니다!",filename);
      exit(1);
     }
     for(count=0; count<5; count++){
      fprintf(fp,"data[%d] = %f\n", count, data[count]);
      fprintf(stdout,"data[%d] = %f\n", count, data[count]);
     }
     fclose(fp); //파일을 닫습니다.
     printf("\n");
    }
    void clear(void){
     char junk[80];
     gets(junk);

     결과 :

    제가 *fp에 C:\hello.bat을 지정했기 때문에 fp는 내용을 hello.bat에 보내는겁니다.

    수정되었죠? 끝까지 읽어주셔서 감사합니다.

    'Visual Studio > C 기초' 카테고리의 다른 글

    ftell(), rewind()  (0) 2012.11.04
    fscanf(), fwrite(), fread()  (0) 2012.11.04
    fopen()  (0) 2012.10.16
    C언어 프로그램 출력에 대해  (0) 2012.09.23
    C언어 프로그램 입력에 대해  (0) 2012.09.22

    댓글

Designed by Tistory.