336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개념 : 


1. 파일 버퍼를 일정 크기 만큼 채우지 않고 비운다.


2. 표준 입- 출력 (stdin, stdout) 버퍼를 비운다.


사용 이유 : 


데이터는 파일에 저장되기 전 임시 버퍼에 기록이 됩니다. 갑작스럽게 전원이 차단되면 임시 버퍼의 내용이 기록 되지 않습니다.  하지만 fflush를 호출


하여 버퍼를 즉시 비우고 바로 내용을 기록할 수 있습니다. 예를 들어 메모장에 텍스트를 입력하고 저장하지 않고 강제 종료를 하게 된다면 기록되지 


않는 것과도 같습니다.



소스 코드 :  main.c

#include <stdio.h>


void main(void)

{

FILE *write = 0, *read =  0;

char szBuffer[256] = { 0, };


fopen_s(&write, "E:\\300\\109\\file.txt", "w+" );


if (write == NULL)

{

puts("fail : create file");

}

else

{

fputs("write text \n", write);

puts("success : write file");


puts("call fflush");

fflush(write);// 즉시 "write text" 기록한다.

fclose(write);

fopen_s(&read, "E:\\300\\109\\file.txt", "r");

if (read == 0)

{

puts("fail : read file");

}

else

{

puts("success : read file");

fgets(szBuffer, 256, read);

puts(szBuffer);



fgets(szBuffer, 256, read);

printf("%s", szBuffer);


fclose(read); 

}



}

}



결과  



#c언어입문,#c언어,#파일버퍼비우기,#fflush,#임시저장구현



+ Recent posts