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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
#1

Преобразование из wchar_t в string - C++

10.06.2014, 21:19. Просмотров 1808. Ответов 26
Метки нет (Все метки)

Здравствуйте! Подскажите, пожалуйста, каким образом можно преобразовать объект типа wchar_t в string.
Работаю со стеками, и одна из задач считать с editbox некоторое значение, которое записывается только в wchar_t, а стек STL не умеет с ним работать.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2014, 21:19     Преобразование из wchar_t в string
Посмотрите здесь:
wchar_t в string C++
C++ String в wchar_t*
C++ String to wchar_t
C++ Преобразование wchar_t в char
C++ Преобразовать string в wchar_t
C++ Преобразование char* в const wchar_t *
Из wchar_t* в wstring или в string C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 21:27     Преобразование из wchar_t в string #2
Цитата Сообщение от casper007 Посмотреть сообщение
каким образом можно преобразовать объект типа wchar_t в string.
А wstring не подойдёт?
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 21:53  [ТС]     Преобразование из wchar_t в string #3
Цитата Сообщение от alsav22 Посмотреть сообщение
А wstring не подойдёт?
К сожалению нет. GetDlgItemTextW() требует третьим параметром LPWSTR переменную
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 22:43     Преобразование из wchar_t в string #4
Цитата Сообщение от casper007 Посмотреть сообщение
GetDlgItemTextW() требует третьим параметром LPWSTR переменную
И? Зачем wchar_t в string преобразовывать?

Добавлено через 3 минуты
И вот это как понять?
Цитата Сообщение от casper007 Посмотреть сообщение
wchar_t, а стек STL не умеет с ним работать.
Добавлено через 26 минут
Пофантазирую на тему...
C++
1
2
3
4
5
6
7
8
9
10
11
12
    HWND hDlg;
    GetDlgItemTextW(hDlg, 1, L"asdf", 2);
    
    wchar_t wch = L'A'; 
    GetDlgItemTextW(hDlg, 1, &wch, 2);
    
    wstring wstr;
    wstr += wch;
    GetDlgItemTextW(hDlg, 1, const_cast<wchar_t*>(wstr.c_str()), 2);
 
    wchar_t str[255];
    GetDlgItemTextW(hDlg, 1, str, 2);
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 22:44  [ТС]     Преобразование из wchar_t в string #5
Цитата Сообщение от alsav22 Посмотреть сообщение
И вот это как понять?
контейнер из библиотеки STL
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 22:48     Преобразование из wchar_t в string #6
Цитата Сообщение от casper007 Посмотреть сообщение
контейнер из библиотеки STL
Это понятно. Вот это непонятно:
Цитата Сообщение от casper007 Посмотреть сообщение
а стек STL не умеет с ним работать.
Добавлено через 27 секунд
???
Цитата Сообщение от alsav22 Посмотреть сообщение
Зачем wchar_t в string преобразовывать?
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 22:52  [ТС]     Преобразование из wchar_t в string #7
Цитата Сообщение от alsav22 Посмотреть сообщение
GetDlgItemTextW(hDlg, 1, const_cast<wchar_t*>
Цитата Сообщение от alsav22 Посмотреть сообщение
Пофантазирую на тему...
Считать - считал. Но мне нужно занести в стек эти данные. st.push(ddd) работает только со string
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 23:10     Преобразование из wchar_t в string #8
Цитата Сообщение от casper007 Посмотреть сообщение
работает только со string
Что работает только со string? Я, по-вашему, что - ясновидящий? Если вопросы задаёте, то показывайте: что есть что.
st - это что? ddd - это что?

Добавлено через 15 минут
Цитата Сообщение от casper007 Посмотреть сообщение
st.push(ddd) работает только со string
Опять пофантазирую...
C++
1
2
3
    stack <wstring> st;
    wstring ddd = L"wstring";
    st.push(ddd);
C++
1
2
3
    stack <wchar_t> st;
    wchar_t ddd = L'A';
    st.push(ddd);
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 23:15  [ТС]     Преобразование из wchar_t в string #9
По
Цитата Сообщение от alsav22 Посмотреть сообщение
Я, по-вашему, что - ясновидящий?
Получаем значение, которое ввел пользователь в editbox с помощью GetDlgItemTextW() в переменную wchar_t aaa.
Далее мы, в созданный нами стек stack<wstring> st добавляем полученные данные из editbox (st.push(aaa)). На последнем этапе возникает ошибка.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 23:22     Преобразование из wchar_t в string #10
Цитата Сообщение от casper007 Посмотреть сообщение
Получаем значение, которое ввел пользователь в editbox с помощью GetDlgItemTextW() в переменную wchar_t aaa.
Далее мы, в созданный нами стек stack<wstring> st добавляем полученные данные из editbox (st.push(aaa)). На последнем этапе возникает ошибка.
Из этого следует вот это?
Цитата Сообщение от casper007 Посмотреть сообщение
wchar_t, а стек STL не умеет с ним работать.
Стек создаёте под wstring и пытаетесь запихнуть туда wchar_t ?
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 23:24  [ТС]     Преобразование из wchar_t в string #11
Цитата Сообщение от alsav22 Посмотреть сообщение
Стек создаёте под wstring и пытаетесь запихнуть туда wchar_t ?
Пытаюсь преобразовать из wchar_t в wstring (Читайте заголовок)
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 23:27     Преобразование из wchar_t в string #12
Цитата Сообщение от casper007 Посмотреть сообщение
Пытаюсь преобразовать из wchar_t в wstring (Читайте заголовок)
Глаза разуй:
Цитата Сообщение от casper007 Посмотреть сообщение
Преобразование из wchar_t в string
Ещё раз глаза разуй:
Цитата Сообщение от alsav22 Посмотреть сообщение
wchar_t wch = L'A';
...
wstring wstr;
wstr += wch;
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 23:34  [ТС]     Преобразование из wchar_t в string #13
Цитата Сообщение от alsav22 Посмотреть сообщение
Ещё раз глаза разуй:
Разул! Не работает.
Цитата Сообщение от alsav22 Посмотреть сообщение
wchar_t wch = L'A';
...
wstring wstr;
wstr += wch;
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 23:40     Преобразование из wchar_t в string #14
Цитата Сообщение от casper007 Посмотреть сообщение
Разул!
Непохоже...
Цитата Сообщение от casper007 Посмотреть сообщение
Не работает.
Что не работает? Где на работает? Код давай, который не работает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2014, 23:40     Преобразование из wchar_t в string
Еще ссылки по теме:
Преобразование const char >>wchar_t >>LPWSTR C++
Преобразование типов wchar_t в char и обратно C++
Конвертор из wchar_t to string. Ошибка косвенного обращения. C++
C++ Почему const wchar_t* воспринимается как wchar_t* ?
Wchar_t и unsigned wchar_t в windows C++

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

Или воспользуйтесь поиском по форуму:
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 23:40  [ТС]     Преобразование из wchar_t в string #15
Цитата Сообщение от alsav22 Посмотреть сообщение
Что не работает?
Все, что вы писали.
Yandex
Объявления
10.06.2014, 23:40     Преобразование из wchar_t в string
Ответ Создать тему
Опции темы

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