標準IOとlinuxシステムIOのバッファ問題


システムIOはデフォルトではバッファリングされませんが、バッファリングされていないのではなく、すぐにファイルに書き込まれます.
標準IO、デフォルトはフルバッファ、
このバッファがいっぱい書いてあります(システムMALLOCの、私たちが作ったbufferではありません)
fllush関数を使用
fcloseを使用してファイルを閉じる
setbufを使用して、setvbufはfile*のプロパティを変更します.
この3つのケースは書類に書くことができます
/* setbuf example */
#include <stdio.h>
#include <stdlib.h>

int main ()
{
    char buffer[BUFSIZ];
    FILE *pFile1, *pFile2;

    pFile1=fopen ("myfile.txt","w");
    pFile2=fopen ("myfile2.txt","a");

    setbuf ( pFile1 , buffer );
    fputs ("This is sent to a buffered stream",pFile1);
    fputs ("This is sent to a buffered stream2",pFile1);
   // fflush (pFile1);

    setbuf ( pFile2 , NULL );
    fputs ("This is sent to an unbuffered stream",pFile2);

   // fclose (pFile1);
    //fclose (pFile2);
   system("pause");
    return 0;
}