lpNumberOfBytesRead и lpNumberOfBytesWritten с использованием сокетов - PullRequest
0 голосов
/ 04 марта 2012

Я изучаю C, и мне интересно, что мне нужно добавить для этих значений в моих методах WriteFile и ReadFile

lpNumberOfBytesRead и lpNumberOfBytesWritten

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

говорится в документации один издва значения NULL не могут быть NULL, как указал мой друг ...

Любые идеи * ура

1 Ответ

1 голос
/ 04 марта 2012

Предполагая, что вы не собираетесь использовать перекрывающиеся операции ввода-вывода (и из вашего вопроса у меня возникает сильное ощущение, что вы не используете), вам нужно передать указатель на переменную DWORD, которая будет принимать значения :

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

Если функция вернется успешно (и вы должны проверить ее возвращаемое значение, чтобы определить это), NumberOfBytesWritten будет установлено на количество байтов, которые были фактически записаны в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...