我正在嘗試使用pread和pwrite,以便我可以查看文件的開頭,並開始讀取或寫入一個原子操作。這兩個函數都會爲我做到這一點,但是,我遇到的問題是編譯器給我warning: implicit declaration of function ‘pread’
,即使在我添加#define _XOPEN_SOURCE 500
和#include<unistd.h>
之後,就像手冊頁所述。我錯過了什麼嗎?下面是兩個帶有函數調用的語句。 謝謝!pread和pwrite未定義?
#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
@Mysticial當然,我添加了所有的代碼作爲編輯。我認爲這可能是太多的代碼。 – tpar44