【发布时间】:2021-04-28 21:19:03
【问题描述】:
我正在尝试使用 pread 和 pwrite 以便我可以查找到文件的开头并开始读取或写入一个原子操作。这两个函数都会为我做这件事,但是我遇到的问题是编译器给了我warning: implicit declaration of function ‘pread’,即使我添加了#define _XOPEN_SOURCE 500 和#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)
{
【问题讨论】:
-
你能展示整个代码吗?
-
@Mysticial 当然,我添加了所有代码作为编辑。我认为这样做可能代码太多。
标签: c linux atomic glibc unistd.h