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

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

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

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

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

Здравствуйте! Подскажите, пожалуйста, каким образом можно преобразовать объект типа wchar_t в string.
Работаю со стеками, и одна из задач считать с editbox некоторое значение, которое записывается только в wchar_t, а стек STL не умеет с ним работать.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2014, 21:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразование из wchar_t в string (C++):

wchar_t в string - C++
Собственно, как можно преобразовать wchar_t* в string?

String в wchar_t* - C++
Всем доброго времени суток! Вопрос уже изъезжен давно, но я уже 2 недели "курю" этот форум, но так и не смог выполнить довольно простую...

String to wchar_t - C++
День всем добрый. Уже пролазил весь интернет, и ничего не понял. Вся надежда на вас. У меня есть программа. И она не дружит с...

Преобразование wchar_t в char - C++
Как преобразовать wchar_t в char ? Получаю wszName через MIB_IFTABLE.

Преобразовать string в wchar_t - C++
Подскажите как переобразовать string в wchar вот код wchar_t buffer; string s2 = "10 20 30 40 50"; swprintf(buffer, L"%f\0",s2) ...

Преобразование char* в const wchar_t * - C++
Есть кусок кода, при компиляции выскакивает ошибка о о неудачном преобразовании типов(вышеназванных) int i = 0; std::string line; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 21:27 #2
Цитата Сообщение от casper007 Посмотреть сообщение
каким образом можно преобразовать объект типа wchar_t в string.
А wstring не подойдёт?
0
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 21:53  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
А wstring не подойдёт?
К сожалению нет. GetDlgItemTextW() требует третьим параметром LPWSTR переменную
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 22:43 #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);
0
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 22:44  [ТС] #5
Цитата Сообщение от alsav22 Посмотреть сообщение
И вот это как понять?
контейнер из библиотеки STL
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 22:48 #6
Цитата Сообщение от casper007 Посмотреть сообщение
контейнер из библиотеки STL
Это понятно. Вот это непонятно:
Цитата Сообщение от casper007 Посмотреть сообщение
а стек STL не умеет с ним работать.
Добавлено через 27 секунд
???
Цитата Сообщение от alsav22 Посмотреть сообщение
Зачем wchar_t в string преобразовывать?
0
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 22:52  [ТС] #7
Цитата Сообщение от alsav22 Посмотреть сообщение
GetDlgItemTextW(hDlg, 1, const_cast<wchar_t*>
Цитата Сообщение от alsav22 Посмотреть сообщение
Пофантазирую на тему...
Считать - считал. Но мне нужно занести в стек эти данные. st.push(ddd) работает только со string
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 23:10 #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);
0
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 23:15  [ТС] #9
По
Цитата Сообщение от alsav22 Посмотреть сообщение
Я, по-вашему, что - ясновидящий?
Получаем значение, которое ввел пользователь в editbox с помощью GetDlgItemTextW() в переменную wchar_t aaa.
Далее мы, в созданный нами стек stack<wstring> st добавляем полученные данные из editbox (st.push(aaa)). На последнем этапе возникает ошибка.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 23:22 #10
Цитата Сообщение от casper007 Посмотреть сообщение
Получаем значение, которое ввел пользователь в editbox с помощью GetDlgItemTextW() в переменную wchar_t aaa.
Далее мы, в созданный нами стек stack<wstring> st добавляем полученные данные из editbox (st.push(aaa)). На последнем этапе возникает ошибка.
Из этого следует вот это?
Цитата Сообщение от casper007 Посмотреть сообщение
wchar_t, а стек STL не умеет с ним работать.
Стек создаёте под wstring и пытаетесь запихнуть туда wchar_t ?
0
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 23:24  [ТС] #11
Цитата Сообщение от alsav22 Посмотреть сообщение
Стек создаёте под wstring и пытаетесь запихнуть туда wchar_t ?
Пытаюсь преобразовать из wchar_t в wstring (Читайте заголовок)
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 23:27 #12
Цитата Сообщение от casper007 Посмотреть сообщение
Пытаюсь преобразовать из wchar_t в wstring (Читайте заголовок)
Глаза разуй:
Цитата Сообщение от casper007 Посмотреть сообщение
Преобразование из wchar_t в string
Ещё раз глаза разуй:
Цитата Сообщение от alsav22 Посмотреть сообщение
wchar_t wch = L'A';
...
wstring wstr;
wstr += wch;
0
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 23:34  [ТС] #13
Цитата Сообщение от alsav22 Посмотреть сообщение
Ещё раз глаза разуй:
Разул! Не работает.
Цитата Сообщение от alsav22 Посмотреть сообщение
wchar_t wch = L'A';
...
wstring wstr;
wstr += wch;
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 23:40 #14
Цитата Сообщение от casper007 Посмотреть сообщение
Разул!
Непохоже...
Цитата Сообщение от casper007 Посмотреть сообщение
Не работает.
Что не работает? Где на работает? Код давай, который не работает.
0
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
10.06.2014, 23:40  [ТС] #15
Цитата Сообщение от alsav22 Посмотреть сообщение
Что не работает?
Все, что вы писали.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2014, 23:40
Привет! Вот еще темы с ответами:

Из wchar_t* в wstring или в string - C++
Как перевести из wchar_t* в wstring или в string ? Почему столько геморроя со строками... Есть функция, которая принимает wstring и...

Преобразование типов wchar_t в char и обратно - C++
Добрый вечер уважаемые форумчане! Как можно перевести из wchar_t в char и обратно. Если можно с примерами. За ранее спасибо!! ...

Преобразование const char >>wchar_t >>LPWSTR - C++
Здравствуйте. Хотел чтобы прога сама определяла нужный ком порт путём перебора. Путём сложения нескольких чаров получается 3-й чар, который...

Конвертор из wchar_t to string. Ошибка косвенного обращения. - C++
Вот код, Ошибки: Ошибка 3 error C2040: temp: &quot;std::string&quot; отличается по уровням косвенного обращения от &quot;wchar_t...


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

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

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