-
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