Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
myaca
2 / 2 / 1
Регистрация: 01.10.2014
Сообщений: 8
1

Ansistring -> string

23.12.2014, 04:49. Просмотров 1164. Ответов 2
Метки нет (Все метки)

Собственно, проблема в том, что мне нужно использовать сишную строку, но в Edit->Text она хранится как AnsiString.
CPP Builder XE 4.
Знаю, что есть несколько подобных тем, не работает.
пробовал разные варианты, на данный момент рабочий только : AnsiString(Edit1->Text).c_str() , но он использует undefined behaviour, что нехорошо, может кто-нибудь посоветовать что-нибудь?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2014, 04:49
Ответы с готовыми решениями:

Int в AnsiString/String
Доброго времени суток. Не мог бы кто-нибудь дать совет, как можно преобразовать Int в...

[C++ Error] Cannot convert 'string' to 'AnsiString'
Ошибка: Unit1.cpp(79): E2034 Cannot convert 'string' to 'AnsiString' Строки: string WorkInfo; ...

как преобразовать AnsiString в string
столкнулся с такой проблемой, у меня есть код функции написанный на с, в нем используется тип...

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

Как перевести текст из AnsiString (в формате UTF8) в AnsiString формата Windows-1251?
Поиск по форуму не решил текущую проблему: 1. Есть текст в формате UTF-8 в величине: AnsiString...

2
SatanaXIII
Почетный модератор
Эксперт С++
5814 / 2816 / 387
Регистрация: 01.11.2011
Сообщений: 6,822
Завершенные тесты: 1
23.12.2014, 14:31 2
Цитата Сообщение от myaca Посмотреть сообщение
Знаю, что есть несколько подобных тем, не работает.
пробовал разные варианты
Где, где они? Как вам советовать что-о, когда неизвестно что вы вообще делаете?
Цитата Сообщение от myaca Посмотреть сообщение
на данный момент рабочий только : AnsiString(Edit1->Text).c_str() , но он использует undefined behaviour
В каком месте оно его использует? Это вопрос. Это не сарказм.
Все хорошо, так его и используйте. Только уберите конструктор ансистринг.
Плюсовый string это обертка над указателем на массив char. Функция c_str() возвращает указатель на массив char. В каком месте что вам не нравится?
0
BRcr
4027 / 2316 / 292
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
23.12.2014, 14:33 3
Цитата Сообщение от myaca Посмотреть сообщение
но в Edit->Text она хранится как AnsiString. CPP Builder XE 4.
На этом билдере как раз-таки хранится как UnicodeString, если ты опции не трогал.
Цитата Сообщение от myaca Посмотреть сообщение
AnsiString(Edit1->Text).c_str() , но он использует undefined behaviour, что нехорошо
Здесь, вероятнее всего, используется конструктор AnsiString, принимающий параметром ссылку на UnicodeString. Вполне здравый вариант, если есть необходимость конвертации. Правда, сомневаюсь, что она действительно есть...
Помимо string есть еще wstring, к слову.

А вот undefined behaviour - это совсем из другой оперы. Еще не слышал, чтобы его кто-нибудь использовал.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2014, 14:33

AnsiString str="/"; Почему ругается? Unterminated string or character constant.
мне нужно заменить путь файла, т.к в диалоге выдаёт \, а нужно / Как ввести в обратный слеш в...

Не вызывается AnsiString()
Привет всем. Разбираю чужой код. Не пойму почему вызывается AnsiString() . Я в C Builder...

Из AnsiString в WORD
Здравствуйте. В Edit4->Text записывается сообщение длиной 4 символа, далее это сообщение переводим...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.