powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запись в поток
2 сообщений из 2, страница 1 из 1
Запись в поток
    #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
Запись в поток
    #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
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запись в поток
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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