Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 用C+;打开创建的文件描述符的Setvbuf+;?_Android_C++_C - Fatal编程技术网

Android 用C+;打开创建的文件描述符的Setvbuf+;?

Android 用C+;打开创建的文件描述符的Setvbuf+;?,android,c++,c,Android,C++,C,有人知道如何将int文件描述符缓冲区设置为无缓冲区并立即刷新吗?我试图使用setvbuf,但它需要文件*而不是intfd Kevin与int关联的文件是一个操作系统句柄。使用C运行时库文件管理缓冲区 为了防止缓冲,您必须使用适当的操作系统特定的功能,这可能可以在创建文件时完成。例如,在Linux上 int fd = open ("/dev/whatever", O_APPEND | O_WRONLY | O_DIRECT); 要刷新已写入的数据,请使用: #包括 ... fsync(fd);

有人知道如何将int文件描述符缓冲区设置为无缓冲区并立即刷新吗?我试图使用
setvbuf
,但它需要
文件*
而不是
intfd


Kevin

int
关联的文件是一个操作系统句柄。使用C运行时库
文件
管理缓冲区

为了防止缓冲,您必须使用适当的操作系统特定的功能,这可能可以在创建文件时完成。例如,在Linux上

int fd = open ("/dev/whatever", O_APPEND | O_WRONLY | O_DIRECT);
要刷新已写入的数据,请使用:

#包括
...
fsync(fd);
#include <unistd.h>

...
fsync(fd);