Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有谁知道如何将 int 文件描述符缓冲区设置为无缓冲区并立即刷新?我试过使用setvbuf,但它需要一个FILE*not int fd。
setvbuf
FILE*
int fd
凯文
与 an 关联的文件int是操作系统句柄。 setvbuf()使用 C 运行时库管理缓冲区FILE。
int
setvbuf()
FILE
为了防止缓冲,您必须使用适当的操作系统特定功能,这可能可以在文件打开时完成。例如,在 Linux 上
int fd = open ("/dev/whatever", O_APPEND | O_WRONLY | O_DIRECT);
要刷新已写入的数据,请使用fsync():
fsync()
#include <unistd.h> ... fsync(fd);