Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/48: Рейтинг темы: голосов - 48, средняя оценка - 4.81
44 / 44 / 17
Регистрация: 28.01.2012
Сообщений: 341
1

Перевод строк std::string, std::wstring в Unicode (String)

20.07.2013, 00:55. Показов 9053. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно столкнулся с проблемой, как корректно перевести к примеру текст из Edit1->Text в std::string или std::wstring и соответственно обратно?
Вот мои наработки

C++
1
2
3
4
    std::wstring mystr;
    mystr = Edit1->Text.c_str();
    myfunc(mystr);
    Edit1->Text = mystr;
Соответственно на последнюю строку ругается компилятор
[bcc32 Error] Unit1.cpp(42): E2034 Cannot convert 'std::wstring' to 'UnicodeString'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2013, 00:55
Ответы с готовыми решениями:

Перевод из Unicodestring B std::string
Как осуществить перевод из Unicodestring B std::string? String(..).c_str t_str не работает.

Заменить std::string на (String, UnicodeString, wchar_t)
Ребята подсобите std::string заменить на (String, UnicodeString, wchar_t) static size_t...

String -> std::string
String b = Edit2->Text; std::string str = AnsiString(b.c_str()); Unit1.cpp(41): E2285 Could...

Std::string в UnicodeString RAD XE4
Доброго времени суток. Как переменной UnicodeString присвоить значение из переменной std::string?...

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
20.07.2013, 01:19 2
C++
1
Edit1->Text = mystr.c_str();
прекрасно работает
1
44 / 44 / 17
Регистрация: 28.01.2012
Сообщений: 341
20.07.2013, 01:50  [ТС] 3
UI, Спасибо, что-то не додумался, что можно и наоборот использовать.
А где можно почитать за все эти строки, а именно за конвертацию в Buildere (можете статью или книжку посоветовать)?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.07.2013, 14:01 4
Полагаю что

C++
1
2
std::wstring mystr;
mystr = Edit1->Text.w_str();
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
20.07.2013, 14:24 5
Это неважно, начиная с XE и c_str() и w_str() (и даже t_str()) возвращают const wchar_t*, так что взаимозаменяемы.
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.07.2013, 14:29 6
В RAD2009 нет зато- там бага с этим.

Поэтому лучше указывать явно, тем более что Embarcadero походу никак не могут определится насчет этих методов.
0
20.07.2013, 14:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2013, 14:29
Помогаю со студенческими работами здесь

Alglib+BuilderXE2=string is not a member of std
Здравствуйте! Воюю с alglib, выигрывает alglib, помогите если можете.... не собираются...

Std::string.lenght() показывает неверное значение
for(int i = 0; i <= hVersion->Strings.Length(); i++) sFind = hVersion->Strings.c_str(); Размер...

Расширение класса. Заставить std::string понимать AnsiString и UnicodeString
Здравствуйте, есть стандартный класс - std::string , я хочу сделать для него доп. конструкторы,...

Получить int из std::wstring
void __fastcall TAdminForm::DelClick(TObject* Sender) { std::wstring name; name =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru