ifstream, чтение байтов?

Как делают Вы добираетесь, сколько байтов было считано с ifstream:: считать функцию?

Скажите говорит, что файл составляет 10 байтов, и окна говорит, что это - 10 байтов также, но существует только 8 байтов в файле поэтому, когда я считал его, это только читает 8 байтов, таким образом, я заканчиваю со слишком большим из буфера.

19
задан user230821 20 December 2009 в 22:58
поделиться

2 ответа

Вы можете узнать это, вызвав gcount() в потоке сразу после прочтения.

ifs.read(buf, sizeof buf);
std::streamsize bytes = ifs.gcount();
42
ответ дан 30 November 2019 в 02:52
поделиться

Есть функция, вызываемая readsome(...) , которая делает то, что вы хотите:

streamsize readsome ( char* s, streamsize n );

Return Value Количество символов извлечено.

4
ответ дан 30 November 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: