私はLinuxシステムプログラミングを学んでいました、O'reilly。「よくある間違いは、ストリームが閉じる前に終了するスコープで自動変数としてバッファを宣言することです。特に、main()にローカルなバッファを提供しないように注意してください。そうすると、ストリームを明示的に閉じることができなくなります。 「」
次に、バグのあるコード例を示します。
#include <stdio.h>
int main()
{
char buf[BUFSIZ];
/*set stdin to block-buffered with a BUFSIZ buffer*/
setvbuf(stdout,buf,_IOFBF,BUFSIZ);
printf("Arr!\n");
return 0;
}
私はコードをコンパイルして実行します..そしてこの種のコードが何を引き起こすのか本当に理解していません...この概念を理解するのを手伝ってください、ありがとうございます。