2010-04-28 34 views
0

我使用 Ubuntu服務器9.10 AMD羿龍2 CPU G ++(Ubuntu的4.4.1-4ubuntu9)4.4.1寫()在sys/uio.h返回-1

試圖運行應用程序pftp-shit v 1.11,它將成功運行,直到遠程文件列表將被保存(到.pftp // pftpfxp--)。

在tcp.cc下面的代碼被成功執行:

int outfile_fd = open(name, O_CREAT | O_TRUNC | O_RDWR | O_BINARY) 

它返回一個文件描述符INT(在我的情況6) - 名是包含到我的文件的有效路徑,其成功地字符數組我創建。 和成功運行:

fchmod(outfile_fd, S_IRUSR | S_IWUSR); 

access(name, W_OK) 

運行函數(從SYS/uio.h)過程中發生的問題

write(outfile_fd, this->control_buffer, read_length) 

返回-1。如果沒有寫入任何內容,則返回-1,否則返回等於寫入字節數的非負整數。

任何人都知道如何讓寫功能工作?

+0

發表一些帶註釋的源代碼會讓讀者更容易理解問題 – 2010-04-28 10:42:32

回答

0

出錯時,返回-1,並適當設置errno。

也許errno可以給你不好的事了一些線索。

write(outfile_fd, this->control_buffer, read_length); 

read_length是否包含要寫入的正確字節數?

0

用戶試圖寫入的目錄和文件是否可以肯定寫入?也許嘗試在/ tmp中運行它只是一個測試。