Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Из String в std::string и обратно


Автор: boobie 21.2.2014, 05:52
Здравствуйте! 
Переношу проект с Visual Studio, поэтому работаю с std::string-ами.
Например, на форме одна кнопка и один Edit:
Код

#include <string.h>
using namespace std;
****
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    string s="12345";
    Button1->Caption=s.c_str();
    Edit1->Text=s.c_str();
}

Этод код работает.

А когда пытаюсь преобразовать из std::string в UnicodeString:
Код

#include <string.h>
using namespace std;
****
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    string s;
    s=Edit1->Text.c_str();
    Button1->Caption=s.c_str();
}

вылетает ошибка.

Все, нашел как надо...

Код

s=AnsiString(Edit1->Text).c_str();

Автор: SVN74 24.2.2014, 18:31
Помню когда то проект созданный на C++ Bulder 6  перекомпилировал в  C++ Builder 2009,  - просто постирал все приставки Ansi в AnsiString(ах)... 

Автор: dix75 14.3.2014, 22:10
SVN74,  Я тоже так делал.

Автор: Лапоть 16.3.2014, 19:16
Цитата(SVN74 @  24.2.2014,  18:31 Найти цитируемый пост)
просто постирал все приставки Ansi в AnsiString(ах)...  

А я никогда не использовал AnsiString - она ж в шестом Билдере дефолтная. При переносе в RAD 2010 проблем не было вообще.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)