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

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

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

Студворк — интернет-сервис помощи студентам
Собственно столкнулся с проблемой, как корректно перевести к примеру текст из 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
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
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 write_data(char *ptr, size_t size, size_t...

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

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
20.07.2013, 01:19
C++
1
Edit1->Text = mystr.c_str();
прекрасно работает
1
 Аватар для akk
44 / 44 / 17
Регистрация: 28.01.2012
Сообщений: 341
20.07.2013, 01:50  [ТС]
UI, Спасибо, что-то не додумался, что можно и наоборот использовать.
А где можно почитать за все эти строки, а именно за конвертацию в Buildere (можете статью или книжку посоветовать)?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.07.2013, 14:01
Полагаю что

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

Поэтому лучше указывать явно, тем более что Embarcadero походу никак не могут определится насчет этих методов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.07.2013, 14:29
Помогаю со студенческими работами здесь

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

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

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

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

Получить int из std::wstring
void __fastcall TAdminForm::DelClick(TObject* Sender) { std::wstring name; name = ((TButton*)Sender)->Name.w_str(); for(int i =...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru