Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запись в поток / 2 сообщений из 2, страница 1 из 1
16.04.2006, 19:01
    #33669661
tors
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в поток
Работаю с Compaund Storage(IStorage)
Но думаю аналогичная проблема есть и при работе с делфовским/билдеровским TMemoryStream
Нужно записать в поток а затем считать такую структуру:

struct TVideoInfo
{
SIZE Resolution;
double Duration;
char *SDuration;
long FrameRate;
char *FOURCC;
};
TInfo Info;
пишу :

hr=Stream->Write((void *)&Info,sizeof(TInfo),&tmp);

считываю :


hr=Stream->Read((void *)&Info,sizeof(TInfo),&tmp);

не считываются поля структуры типа char *

Как решить траблю?

C ув. Tors
...
Рейтинг: 0 / 0
16.04.2006, 21:07
    #33669764
Сергей Ильич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в поток
Надеюсь, ты понимаешь, что строки SDuration и FOURCC не храняться в этой структуре? В структуре храняться только *ссылки* на строки?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
struct TVideoInfo
{
SIZE Resolution;
double Duration;
char SDuration[ 128 ];
long FrameRate;
char FOURCC[ 128 ];
};
Так будет работать. Если они нужны нефиксированного размера, тогда пиши каждое поле по отдельности, строки конвертируй в BSTR, поскольку для BSTR определен внешний интерфейс для его записи в поток ISteram.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запись в поток / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]