int ファイル記述子バッファーをバッファーなしに設定し、すぐにフラッシュする方法を知っている人はいますか? 使用しようとしましたが、 notsetvbufかかります。FILE*int fd
ケビン
に関連付けられているファイルintは、オペレーティングシステムのハンドルです。 setvbuf()Cランタイムライブラリでバッファを管理しますFILE。
バッファリングを防ぐには、適切なオペレーティングシステム固有の機能を使用する必要があります。これは、ファイルを開いたときに実行できる可能性があります。たとえば、Linuxの場合
int fd = open ("/dev/whatever", O_APPEND | O_WRONLY | O_DIRECT);
すでに書き込まれたデータをフラッシュするには、次を使用しますfsync()。
#include <unistd.h>
...
fsync(fd);