logo

C fprintf() 및 fscanf()


파일 쓰기: fprintf() 함수

fprintf() 함수는 파일에 문자 세트를 쓰는 데 사용됩니다. 형식화된 출력을 스트림으로 보냅니다.

Java에서 arraylist 정렬

통사론:

 int fprintf(FILE *stream, const char *format [, argument, ...]) 

예:

 #include main(){ FILE *fp; fp = fopen('file.txt', 'w');//opening file fprintf(fp, 'Hello file by fprintf...
');//writing data into file fclose(fp);//closing file } 

파일 읽기 : fscanf() 함수

fscanf() 함수는 파일에서 문자 세트를 읽는 데 사용됩니다. 파일에서 단어를 읽고 파일 끝에서 EOF를 반환합니다.

통사론:

 int fscanf(FILE *stream, const char *format [, argument, ...]) 

예:

문자열 추가
 #include main(){ FILE *fp; char buff[255];//creating char array to store data of file fp = fopen('file.txt', 'r'); while(fscanf(fp, '%s', buff)!=EOF){ printf('%s ', buff ); } fclose(fp); } 

산출:

 Hello file by fprintf... 

C 파일 예: 직원 정보 저장

사용자가 콘솔에서 입력한 직원 정보를 저장하는 파일 처리 예제를 살펴보겠습니다. 직원의 ID, 이름, 급여를 저장하겠습니다.

Java의 문자열에서 바꾸기
 #include void main() { FILE *fptr; int id; char name[30]; float salary; fptr = fopen('emp.txt', 'w+');/* open for writing */ if (fptr == NULL) { printf('File does not exists 
'); return; } printf('Enter the id
'); scanf('%d', &id); fprintf(fptr, 'Id= %d
', id); printf('Enter the name 
'); scanf('%s', name); fprintf(fptr, 'Name= %s
', name); printf('Enter the salary
'); scanf('%f', &salary); fprintf(fptr, 'Salary= %.2f
', salary); fclose(fptr); }

산출:

 Enter the id 1 Enter the name sonoo Enter the salary 120000 

이제 현재 디렉토리에서 파일을 엽니다. Windows 운영 체제의 경우 TCin 디렉터리로 이동하면 emp.txt 파일이 표시됩니다. 다음과 같은 정보가 있습니다.

emp.txt

 Id= 1 Name= sonoo Salary= 120000