我正在尝试使用 pread 和 pwrite,以便我可以 lseek 到文件的开头并开始在一个原子操作中读取或写入。这两个函数都会为我做到这一点,但是我遇到的问题是编译器给了我warning: implicit declaration of function ‘pread’
即使我添加之后#define _XOPEN_SOURCE 500
and #include<unistd.h>
就像手册页所说的那样。我错过了什么吗?下面是带有函数调用的两条语句。
谢谢!
#include<unistd.h>
#define _XOPEN_SOURCE 500
int main (int argc, char *argv[])
{
while ( (read_in += pread(source_fd, in_buf, in_buf_size,read_in) ) )
{
if (write_out += pwrite(dest_fd, in_buf, read_in, write_out) == -1)
{
你需要定义_XOPEN_SOURCE 500
before你的包括:
#define _XOPEN_SOURCE 500
#include<unistd.h>
否则,unistd.h
header 不会看到宏定义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)