Проблемы с CString
От: Rat Россия  
Дата: 09.02.04 17:31
Оценка:
Доброго всем всего!
Появился один дурацкий вопрос...

Имеется вот такая вот структура:
    struct tAddressStruct
    {
        CString email;
        CString Comment;
    } m_AddressStruct;


В некотором месте программы объявляется указатель на нее:

    tAddressStruct * as;

    as = (tAddressStruct *) malloc (sizeof (tAddressStruct));


и по этому указателю записываются данные:

        as->email = "111"; //dlg.m_NewAddres ;
        as->Comment = "222"; //dlg.m_Comment ;


вот. компилится этот кусок нормально, но когда программа добирается до этого места, то грохается с эксепшеном.
не подскажите ли как с этим бороться?
зараннее спасибо....
Re: Проблемы с CString
От: VladFein США  
Дата: 09.02.04 17:58
Оценка: 2 (1)
Здравствуйте, Rat, Вы писали:
Rat>Имеется вот такая вот структура:
Rat>
Rat>    struct tAddressStruct
Rat>    {
Rat>        CString email;
Rat>        CString Comment;
Rat>    } m_AddressStruct;

Rat>


Rat>В некотором месте программы объявляется указатель на нее:


Rat>
Rat>    tAddressStruct * as;

Rat>    as = (tAddressStruct *) malloc (sizeof (tAddressStruct));
Rat>


Rat>и по этому указателю записываются данные:


Rat>
        as->>email = "111"; //dlg.m_NewAddres ;
        as->>Comment = "222"; //dlg.m_Comment ;

Rat>


Rat>вот. компилится этот кусок нормально, но когда программа добирается до этого места, то грохается с эксепшеном.

Rat>не подскажите ли как с этим бороться?

malloc дает Вам не-инициализированный кусок памяти. Вам нужны правильно сконструированные CString-и. Попробуйте new вместо malloc.
Влад.
Re: Проблемы с CString
От: lynxoid  
Дата: 09.02.04 21:44
Оценка: 2 (1)
Здравствуйте, Rat, Вы писали:



Rat>Доброго всем всего!

Rat>Появился один дурацкий вопрос...

Rat>Имеется вот такая вот структура:

Rat>
Rat>    struct tAddressStruct
Rat>    {
Rat>        CString email;
Rat>        CString Comment;
Rat>    } m_AddressStruct;

Rat>


Rat>В некотором месте программы объявляется указатель на нее:


Rat>
Rat>    tAddressStruct * as;

Rat>    as = (tAddressStruct *) malloc (sizeof (tAddressStruct));
Rat>


Тут лучше писать

as = new tAddressStruct.


И все заработает.
Re[2]: Проблемы с CString
От: Rat Россия  
Дата: 10.02.04 19:05
Оценка:
С new все заработало.
большое спасибо за ответы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.