Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
#1

Странное поведение wstring - C++

14.08.2012, 23:16. Просмотров 469. Ответов 4
Метки нет (Все метки)

Всем привет!

Ребята, не могу понять такую ситуацию.

Вставляю в wstring строку в позицию 0 таким образом

C++
1
2
positionclient.insert(0,L"Клиент \" ");
positionclient += L" не зарегистрирован";
Смотрю отладчиком строка формируется полностью, но выводится все до слова

C++
1
не зарегистрирован
. Помогите.

Заранее спасибо!

P.S. Не ругайте сильно за использование Unicode

Недосмотрел: отладчиком еще раз прошелся и понял, что выводит до 0 символа. Ранее использовал positionclient для считывания с Edit в виде

C++
1
SendMessage( hEdit1, WM_GETTEXT, positionclient.length(  ), ( LPARAM )positionclient.c_str(  ) );
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2012, 23:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Странное поведение wstring (C++):

wstring странное поведение после GetEnvironmentVariable - C++
Есть юникодовская строка. После GetEnvironmentVariable, строка становится L"C:/windows"(и это прекрасно показывает окно сообщения), но...

Странное поведение new - C++
Объясните почему оператор new выделяет неверное количество памяти? # include <iostream> using namespace std; char* interpitator( int...

Странное поведение - C++
Здравствуйте еще раз :) Теперь возникла другая непонятка. Есть класс StringParser, объекты которого умеют разбивать строку на подстроки,...

Странное поведение транслятора - C++
В следуюшем примере код компилируется нормально, но объект класса b не содается (пробывал на Visual studio 10 и на Borland builder 5), что...

Странное поведение кода - C++
int x; cout << (x = 1) + (x = 2) + (x = 3); У меня выводит 7 (вместо 6). Почему?!?!

Странное поведение присваивания - C++
class Lexem { public: uint id; uint value; uint line; uint pos; bool operator==(int a){ return a...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.08.2012, 00:06 #2
Holsteng, так что выводится?
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
15.08.2012, 00:09  [ТС] #3
Цитата Сообщение от Holsteng Посмотреть сообщение
positionclient.insert(0,L"Клиент \" ");
positionclient += L" не зарегистрирован";
C++
1
не зарегистрирован
не выводит, но эта строка есть после 0
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
15.08.2012, 00:41 #4
в wstring конечно можно засовывать нули, но си код не будет понимать строки, которые возвращаются функцией c_str() т.к. всякие сишные функции (WinAPI-шные в том числе) определяют рассматривают симсолы строки до нулевого символа.
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
15.08.2012, 00:47  [ТС] #5
DU, та я уже понял, спасибо. Придется создать еще один wstring
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2012, 00:47
Привет! Вот еще темы с ответами:

Странное поведение программы - C++
Здравствуйте, у меня проблема. В силу какой-то причины результатом вычисления выражения при значениях PA и PB равных 0 и 1 соответственно,...

Странное поведение программы - C++
Перечитываю Герберт Шилдт: С++ базовый курс. Простая программа: #include <iostream> using namespace std; int main() { ...

Странное поведение указателей - C++
Здравствуйте, может кто-нибудь объяснить столь странное поведение указателя. Вот код. int main() { const int Width = 3; ...

Странное поведение компилятора - C++
Всем привет! Я конечно понимаю что нужно выкладывать минимальный код повторяющий мою проблему но он будет достаточно грамосток т.к. в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.08.2012, 00:47
Ответ Создать тему
Опции темы

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