Шаг 73 - Читаем данные из потока Read()

Данные из потока можно читать:

HRESULT Read
(  
	void *pv,		//указатель на буфер для записи
	ULONG cb,		//количество байтов для чтения
	ULONG *pcbRead	//количество действительно прочитанных байтов
);

Ошибок и кодов возврата может быть много. Если все нормально, то S_OK. Пример:

hresult = pIStorage->OpenStream(L"MyFile", NULL,
	STGM_READWRITE|STGM_DIRECT|STGM_SHARE_EXCLUSIVE,0, &stream);

if (!FAILED(hresult))
{
	cout << "ok open file" << endl;
	ULONG cb;
	OLECHAR buffer[40];
	hresult = stream->Read(&buffer,22 , &cb);
	char buf[40];
	wcstombs((CHAR*)&buf,(OLECHAR*)&buffer,sizeof(buf));
	cout << buf << endl;
}
else cout << "error open file" << endl;
stream->Release(); 
pIStorage->Release()
Результат - это строка прочитанная из потока:
ok open file
Hello File
Press any key to continue

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 6.03.2001