Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Insane__
43 / 43 / 15
Регистрация: 10.09.2013
Сообщений: 293
1

std::string to SCtring

16.10.2013, 17:29. Просмотров 345. Ответов 11
Метки нет (Все метки)

После выполнения этого кода выводится не "123" а какие-то каракули как это исправить?
C++
1
2
string s = "123";
    this->SetDlgItemText(RESULT_SHOW, (LPCTSTR)s.c_str());
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2013, 17:29
Ответы с готовыми решениями:

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri
на вод поступают 2 строки типа string. определить количество вхождений строки 2...

Запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’
private: std::string firstName; }; std::string...

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами
подскажите есть вот такая задача. Есть список . Создать второй список, в...

Реализация класса MyString. Стандартная библиотека, std::string, std::vector
как добавить реализацию конкатенации строк через перегрузку оператора &quot;+=&quot; в...

Передача функции указатель на элемент std::vector<std::string>
Доброй ночи тем, кому не спится (или живет в другом часовом поясе:p)! Есть...

11
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
16.10.2013, 18:16 2
а если так?
C++
1
this->SetDlgItemText(RESULT_SHOW, "123");
0
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
16.10.2013, 18:20 3
C++
1
2
string s = "123";
    this->SetDlgItemTextA(RESULT_SHOW, s.c_str());
0
Insane__
43 / 43 / 15
Регистрация: 10.09.2013
Сообщений: 293
16.10.2013, 18:23  [ТС] 4
Цитата Сообщение от Raali Посмотреть сообщение
а если так?
error C2664: CWnd::SetDlgItemTextW: невозможно преобразовать параметр 2 из "const char [4]" в "LPCTSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции

Добавлено через 1 минуту
Цитата Сообщение от kazak Посмотреть сообщение
string s = "123";
* * this->SetDlgItemTextA(RESULT_SHOW, s.c_str());
Та же ошибка..
0
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
16.10.2013, 18:26 5
Цитата Сообщение от Insane__ Посмотреть сообщение
Та же ошибка..
С трудом верится, Вы добавили суффикс А к концу функции?
this->SetDlgItemTextA(RESULT_SHOW, s.c_str());
0
Insane__
43 / 43 / 15
Регистрация: 10.09.2013
Сообщений: 293
16.10.2013, 18:28  [ТС] 6
Цитата Сообщение от kazak Посмотреть сообщение
С трудом верится, Вы добавили суффикс А к концу функции?
this->SetDlgItemTextA(RESULT_SHOW, s.c_str());
error C2039: SetDlgItemTextA: не является членом "CConvertDlg"
0
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
16.10.2013, 18:40 7
а теперь так?
C++
1
this->SetDlgItemText(RESULT_SHOW, L"123");
0
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
16.10.2013, 18:41 8
Уточнять нужно, какие функции используете.
Попробуйте так
C++
1
this->SetDlgItemTextA(RESULT_SHOW, L"123");
0
Insane__
43 / 43 / 15
Регистрация: 10.09.2013
Сообщений: 293
16.10.2013, 18:45  [ТС] 9
Цитата Сообщение от Raali Посмотреть сообщение
а теперь так?
Код C++
1
this->SetDlgItemText(RESULT_SHOW, L"123");
Так работает, но есть одна проблемка, данные хранятся в std::string.
В const char* я могу превратить, но к нему "L" применить нельзя..
Что-то такоє сделать то нельзя: this->SetDlgItemText(RESULT_SHOW, L(s.c_str()));
0
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
16.10.2013, 18:46 10
Цитата Сообщение от Insane__ Посмотреть сообщение
данные хранятся в std::string.
храни теперь их в std::wstring
можно еще использовать MultiByteToWideChar (MSDN)
а еще можно в свойствах проекта убрать юникод
1
Insane__
43 / 43 / 15
Регистрация: 10.09.2013
Сообщений: 293
16.10.2013, 18:50  [ТС] 11
Цитата Сообщение от Raali Посмотреть сообщение
храни теперь их в std::wstring
И что мне это даст?
0
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
16.10.2013, 18:53 12
Цитата Сообщение от Insane__ Посмотреть сообщение
И что мне это даст?
c_str() будет возвращать не (LPCSTR) как раньше а нужный (LPCTSTR)
но и заполнять стринги придется через L""
1
16.10.2013, 18:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 18:53

Операция std::cout для Объекта типа std::string
Кто детально объяснит почему не выводит ? Дает вот так &quot;Отсутствует оператор...

No match for 'operator<' (operand types are 'std::__cxx11::string {aka std::__c
Имеем следующий код: #include &lt;iostream&gt; #include &lt;string&gt; #include...

Почему std::string_view МЕДЛЕННЕЕ, чем std::string?
Всем привет! Нужно найти количество уникальных строк в больших текстовых...


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

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

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