Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Кириллица и AnsiString


Автор: StamSvam 8.7.2012, 14:33
Билдером начал заниматься только сегодня, поэтому периодически натыкаюсь на какие-нибудь подводные камни и не знаю, как их обойти.
Проблема такая, у меня имеется структура, содержащая массивы Char. 
Для того, чтобы вывести в поле Memo элемент структуры, необходимо привести Char к AnsiString. Перед этим нужно сравнить массив Char и забитую в поле Edit строку. Все бы ничего, но вот массивы у меня содержат строки на русском языке. И при приведении AnsiString к Char методом Text.c_str() для сравнения с исходным массивом Char в новом массиве записываются всякие гадости. Например: исходная строка "Константин" в AnsiString выглядит как "Љ®-­бв -­вЁ-­" и с точность до наоборот. 

Подскажите, пожалуйста, как мне массив символов Char превратить в AnsiString и из AnsiString в Char без изменения русского слова?

Автор: Alexeis 8.7.2012, 16:25
Какая версия билдера? 

Автор: StamSvam 8.7.2012, 18:34
Alexeis, версия Borland C++ Builder 6. Все облазил. Нашел на одном форуме только запись о том, как переводить и фразу "с кириллицей скорее всего будут проблемы"..

Автор: Alexeis 8.7.2012, 20:13
StamSvam, указанные операции не портят содержимого строк. Обычно такие бяки бывают при конвертации из юникода в Ansi и обратно. Нужно посмотреть код, который портит. Вероятно там есть что-то еще.

Автор: StamSvam 8.7.2012, 20:31
Не могли бы Вы по подробнее рассказать, что именно смотреть, пожалуйста.

Автор: volatile 8.7.2012, 21:05
Цитата(StamSvam @  8.7.2012,  14:33 Найти цитируемый пост)
как мне массив символов Char превратить в AnsiString и из AnsiString в Char 

http://msdn.microsoft.com/en-us/library/windows/desktop/ms647493(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms647473(v=vs.85).aspx
соответственно.

Автор: StamSvam 8.7.2012, 21:22
Спасибо большое!!

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