Недавно совсем начал знакомиться с VC++6. До этого программировал на C++Builder 5.
В связи с чем и вопрос. Пользовался я VCL классом TMemoryStream. Он достался в наследство от Delphi.
В нем я мог сохранить данные так:
int i;
double d;
// сохраняем
MemStream.Position = 0;
MemStream.Write( &i, sizeof( i ) );
MemStream.Write( &d, sizeof( d ) );
...
// восстанавливаем
MemStream.Position = 0;
MemStream.Read( &i, sizeof( i ) );
MemStream.Read( &d, sizeof( d ) );
А каким классом для такой цели мне лучше всего воспользоваться в VC++
Должен же быть стандартный поток в памяти, но что я нашел, так это strstream.
Но кажется это для бинарных данных не совсем то, или я не прав?
Желательно очень продублировать ответ на email: oleg_zl@yahoo.com
Здравствуйте Золотых О.А., вы писали:
ЗО> Привет, All!
ЗО> А каким классом для такой цели мне лучше всего воспользоваться в VC++ ЗО> Должен же быть стандартный поток в памяти, но что я нашел, так это strstream. ЗО> Но кажется это для бинарных данных не совсем то, или я не прав?
Насколько мне известно нет такого класса в стандартных либах VC++,
сделай сам там работы на пол часа.
удачи.
-------------------------------------------------------------------
Вызывает презедент к себе коров и говорит:
— Ну, что будем сдавать, молоко или мясо?
(с) Г. Явлинский TV6 — Герой дня (18.04.2002)
Здравствуйте, Золотых О.А., Вы писали:
ЗОА> Недавно совсем начал знакомиться с VC++6. До этого программировал на C++Builder 5. ЗОА> В связи с чем и вопрос. Пользовался я VCL классом TMemoryStream. Он достался в наследство от Delphi.
ЗОА> В нем я мог сохранить данные так:
ЗОА> int i; ЗОА> double d; ЗОА> // сохраняем ЗОА> MemStream.Position = 0; ЗОА> MemStream.Write( &i, sizeof( i ) ); ЗОА> MemStream.Write( &d, sizeof( d ) ); ЗОА> ... ЗОА> // восстанавливаем ЗОА> MemStream.Position = 0; ЗОА> MemStream.Read( &i, sizeof( i ) ); ЗОА> MemStream.Read( &d, sizeof( d ) );
ЗОА> А каким классом для такой цели мне лучше всего воспользоваться в VC++ ЗОА> Должен же быть стандартный поток в памяти, но что я нашел, так это strstream. ЗОА> Но кажется это для бинарных данных не совсем то, или я не прав?
Если нужно просто складывать бинарные блоки в конец потока и доставать их из начала потока, то можно использовать deque<unsigned char>, так будет быстрее всего. Возьми за основу это:
ЗОА> А каким классом для такой цели мне лучше всего воспользоваться в VC++ ЗОА> Должен же быть стандартный поток в памяти, но что я нашел, так это strstream. ЗОА> Но кажется это для бинарных данных не совсем то, или я не прав?