Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
1

Странное поведение UnicodeString.

19.04.2012, 16:36. Показов 1198. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
С некоторого момента UnicodeString без особых на то причин начала вести себя странно.
C++
1
2
3
4
Variang vstr = "debug_1";
UnicodeString ustr;
 
ustr = vstr; // в ustr теперь такое значение "debug_$" - а это ОШИБКА !!!
Потом при записи в текстовый файл значений из UnicodeString'а, строки искажаются.
То же самое с XML файлами.

Кто-нибудь сталкивался с подобным ? Как исправить ?

C++ Builder 2010
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2012, 16:36
Ответы с готовыми решениями:

Странное поведение!
Доброго времени суток! На лицо странное (на мой взгляд) поведение С++ Builder 6. Итак код:...

Странное поведение XE2
Как такое возможно(скриншот). И еще замечаю - не всегда происходит присваивание значений переменным.

Странное поведение Builder XE
Добрый день! При работе программы возникает ошибка типа acces violation в след куске кода: for...

Странное поведение окон
Здравствуйте! Демка с комментами Суть. Мне нужно создать независимое окно с отдельной...

9
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.04.2012, 19:27 2
В 2009 нормально выдает, но вот только наверное Variant, а не Variang
Могу посоветовать только проверить
C++
1
Variang vstr = L"debug_1";
Но у меня с L подвисает.
0
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
19.04.2012, 19:43  [ТС] 3
Ну а с записью в файлы что делать то ?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.04.2012, 19:55 4
А в чем проблема?
Почему нельзя ограничится AnsiString?
0
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
19.04.2012, 20:39  [ТС] 5
Цитата Сообщение от Avazart Посмотреть сообщение
Почему нельзя ограничится AnsiString?
Странный вопрос !!!
Например вам нужно в Токио. Можно на самолете, но почему бы не ограничиться велосипедом ?
0
143 / 122 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
19.04.2012, 20:47 6
Цитата Сообщение от Avazart Посмотреть сообщение
Почему нельзя ограничится AnsiString?
Цитата Сообщение от NewZ Посмотреть сообщение
C++
1
UnicodeString ustr;
почему просто String не оставишь?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.04.2012, 21:04 7
Например вам нужно в Токио. Можно на самолете, но почему бы не ограничиться велосипедом ?

Ну если в Токио, то да конечно лучше на самолете.Ну а если на рынок згонять, то самолет не канает...
Неужели вам необходимо использовать китайские и др. символы ?
0
1123 / 794 / 101
Регистрация: 01.02.2011
Сообщений: 1,879
Записей в блоге: 1
19.04.2012, 21:28 8
У меня все ок. Builder XE
C++
1
2
3
4
5
6
7
8
Variant vstr = "debug_1";
UnicodeString ustr;
 
ustr = vstr;
 
TFileStream *fs = new TFileStream("C:\\test.txt", fmCreate);
fs->Write( ustr.c_str(), ustr.Length()*2 );
delete fs;
0
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
19.04.2012, 21:34  [ТС] 9
Цитата Сообщение от Avazart Посмотреть сообщение
Неужели вам необходимо использовать китайские и др. символы ?
Приложение работает с Unix;
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
20.04.2012, 05:58 10
Цитата Сообщение от Avazart Посмотреть сообщение
Могу посоветовать только проверить
Советую быть аккуратным при записи подобного вида. Т.к. при использовании L используется wchar_t *, а это значит, что туда может записаться адрес. И в этом случае, чтобы не было зависимости от "погодных условий" следует явно указывать тип присваемого значения, да и при получении значения из Variant не мешает.

Так же советую ознакомится с System.Variant.AsType.
0
20.04.2012, 05:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2012, 05:58
Помогаю со студенческими работами здесь

Classic Bluetooth странное поведение сокета
Доброго времени суток ! Пытаюсь подружить устройство на stm32+CH-06 с компом Использую...

Странное поведение char при выводе в Edit
void __fastcall TForm1::Edit2Change(TObject *Sender) { char s; AnsiString s1; if(Edit2->Text !=...

Странное поведение курсора при расвертывании ComboBox
делаю выпадающий список, но странное поведение заметил когда я его раскрываю ComboBox1->DroppedDown...

Странное поведение строковых переменных (меняются с того ни с сего)
Код такой: UnicodeString gorod; // глобальная void __fastcall...


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

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