Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Аналоги fread


Автор: Dufrense 7.10.2005, 19:48
Существуют ли аналоги вызова такой функции fread(Pixels, 3, width * height , bFile);
Компилятор ругается:
I:\Program Files\DevStudio\MyProjects\algoritm\lab1\main.cpp(48) : error C2664: 'fread' : cannot convert parameter 4 from 'class std::basic_ifstream<char,struct std::char_traits<char> >' to 'struct _iobuf *'

bFile у меня объявлен как ifstream, если поменять на FILE, то все в порядке, но мне необходим именно ifstream

Автор: Earnest 8.10.2005, 16:43
Из istream нужно читать так:

Код

ifstream is;
is.read((char*)buf,size);
// а еще так 
int i; double d;
is >> i >> d;


А также сам можешь переопределить оператор >> для своих объектов.

Потоки STL это совсем не то же самое, что потоки CRT. C какой радости им иметь одинаковые функции? Набери в MSDN "basic_istream" и внимательно прочитай.

Автор: Dufrense 9.10.2005, 11:03
Как из istream читать я знаю, но мне надо читать по три байта сразу, как в указанном вызове fread. Как это можно сделать?

Автор: DeadSoul 9.10.2005, 11:56
Dufrense, втрой параметр метода read

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)