4

int ファイル記述子バッファーをバッファーなしに設定し、すぐにフラッシュする方法を知っている人はいますか? 使用しようとしましたが、 notsetvbufかかります。FILE*int fd

ケビン

4

1 に答える 1

5

に関連付けられているファイルintは、オペレーティングシステムのハンドルです。 setvbuf()Cランタイムライブラリでバッファを管理しますFILE

バッファリングを防ぐには、適切なオペレーティングシステム固有の機能を使用する必要があります。これは、ファイルを開いたときに実行できる可能性があります。たとえば、Linuxの場合

int fd = open ("/dev/whatever", O_APPEND | O_WRONLY | O_DIRECT);

すでに書き込まれたデータをフラッシュするには、次を使用しますfsync()

#include <unistd.h>

...
fsync(fd);
于 2012-07-17T19:46:22.897 に答える