2012-03-03 30 views
0

我學習C和我想知道什麼我需要添加在我WriteFile的那些價值觀和ReadFile的方法lpNumberOfBytesRead和lpNumberOfBytesWritten使用套接字

lpNumberOfBytesRead和lpNumberOfBytesWritten

WriteFile((HANDLE)sock, "\x05\x01\x00", 3, NULL, NULL); 
ReadFile((HANDLE)sock, buf, 1024, NULL, NULL); 

它說的文件之一兩個NULL值不能爲NULL,因爲我的朋友指出...

任何想法*歡呼

回答

1

Assumi如果您不打算使用重疊I/O(並且從您的問題中,我得到一種強烈的感覺,那麼您不需要),則需要將指針傳遞給將接收值的變量:

DWORD NumberOfBytesWritten; 
WriteFile((HANDLE)sock, "\x05\x01\x00", 3, &NumberOfBytesWritten, NULL); 

如果函數成功返回(並且您應該檢查其返回值以確定它),則NumberOfBytesWritten將設置爲實際寫入文件的字節數。

+0

DWORD,int,紅衣主教,不管:))32位thingy。 IIRC,它仍然編譯好。 – 2012-03-04 00:18:26

+0

@大衛 - 感謝編輯:) – 2012-03-05 18:00:19

+0

你必須得到正確的類型。您的原始代碼沒有編譯。 – 2012-03-05 18:07:39