преобразовать строку в cstring

Я пытаюсь преобразовать свою строку в cstring в приложении mfc. Я искал этот форум в течение нескольких часов без каких-либо результатов.

мой код:

void CSokevinduView::OnBnClickedsoker()
{
string O1,O2,O3,info;


ifstream Innfil;
Innfil.open("SQLPResponse.txt");
Innfil.ignore();
getline(Innfil,O1);
getline(Innfil,O2);
getline(Innfil,O3);
getline(Innfil,info);
Innfil.close();

    m_sok=info;

m_sok — это cstring, кстати.

Проблема в том, что "m_sok" не хочет быть похожим на "info".

Я очень новичок в этом, как вы можете видеть из моего кодирования.

Спасибо заранее.


person Bernt Warholm    schedule 03.03.2015    source источник


Ответы (1)


Используйте метод строки c_str().

m_sok = info.c_str();
person Joseph Willcoxson    schedule 03.03.2015
comment
Большое спасибо. Работает как шарм - person Bernt Warholm; 03.03.2015
comment
Если определен символ препроцессора _UNICODE, строка выше вызывает преобразование MBCS в Unicode с использованием языкового стандарта текущего потока. Если info содержит только символы ASCII, это не проблема. В противном случае результаты могут быть нежелательными. CStringT::operator= иногда делает больше, чем вы просили. - person IInspectable; 04.03.2015