Заблокирован
1

Как преобразовать строку из CHAR в TCHAR

01.04.2016, 13:41. Показов 2305. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день !
Подскажите пожалуйста, как преобразовать строку из
C++
1
CHAR c[200] = ("ПРИВЕТ КАТЯ !!!");
в
C++
1
TCHAR d[200] = _T("");
не снимая юникода ?

делал так, но не получил ожидаемого результата
C++
1
2
3
for (i=0;i<strlen(c);i++) d[i] = (TCHAR)c[i];
        d[i] = (TCHAR)c[i];
        TextOut(hdc,0,0,d,_tcslen(d));
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2016, 13:41
Ответы с готовыми решениями:

Как преобразовать из строку из Char в QString?
int SocketFd = ::accept(listener, (struct sockaddr*) NULL, NULL); QString...

Как преобразовать строку char в массив int?
Дана строка символов S, состоящая из чисел, разделенных пробелами Нужно выделить числа и засунуть...

Как преобразовать объект string в строку char*?
Доброго времени суток! Недавно я писал код, и обнаружил, что в качестве имя файла при объявлении...

Как преобразовать unicode строку состоящую из одного русского символа в Char?
var s: string; c: char; begin s:= 'Ю'; c:= s; // Здесь ошибка преобразования типов ...

29
Заблокирован
01.04.2016, 15:45  [ТС] 21
Author24 — интернет-сервис помощи студентам
нормально работало с

CP_THREAD_ACP
CP_ACP


что это может значить ?

второй параметр MB_ERR_INVALID_CHARS
0
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
01.04.2016, 15:54 22
CP_ACP - использовать дефолтную кодовую страницу Windows.
Для русской Windows - CP-1251, для английской - CP-1252 и так далее.

CP_THREAD_ACP - использовать кодовую страницу, установленную
для текущего потока.
1
Заблокирован
01.04.2016, 15:57  [ТС] 23
тогда лучше взять CP_ACP ?

хотя и так и так работает.
0
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
01.04.2016, 16:06 24
CP_ACP: при запуске на нерусской Винде ты не сможешь преобразовать
текст из CP-1251 (кириллица), получишь на выходе кракозябры.
Поэтому лучше всегда точно указывать входную кодировку, в данном
случае это 1251.
1
Заблокирован
01.04.2016, 16:29  [ТС] 25
CP-1251 не работает.вообще


1>------ Построение начато: проект: Dialog, Конфигурация: Debug Win32 ------
1>Построение начато 01.04.2016 16:32:38.
1>InitializeBuildStatus:
1> Обращение к "Debug\Dialog.unsuccessfulbuild".
1>ClCompile:
1> Для всех выходных данных обновления не требуется.
1> Dialog.cpp
1>d:\documents and settings\1\мои документы\visual studio 2010\projects\dialog\dialog\dialog.cpp(173): error C2065: CP_1251: необъявленный идентификатор
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.87
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
01.04.2016, 16:35 26
RAFA91, ты прикалываешься, да?


CP_1251 - нет такого идентификатора. Пиши просто 1251
1
Заблокирован
01.04.2016, 16:41  [ТС] 27
так а если я собираюсь использовать в перспективе и английские буквы , это никак не отразится отрицательно ?
0
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
01.04.2016, 16:45 28
Лучший ответ Сообщение было отмечено RAFA91 как решение

Решение

Никак не отразится. Все будет работать до тех пор, пока ты будешь
указывать правильные кодировки и параметры, а для вывода (GUI) - юникод.
Вот тогда программа будет одинаково работать и на русских локализациях
Windows, и на английских, и на китайских, и вообще на любых.
1
Заблокирован
02.04.2016, 11:27  [ТС] 29
Я особо в этот вопрос не вникал. Тоесть как я понял у каждой ОС своя кодировка ?

У меня к примеру XP SP3 (RUS). Это значит у нее CP_1251 ?

Добавлено через 18 часов 39 минут
Добрый день !

А можно ли сделать обратное преобразование ?

из WCHAR в CHAR
0
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
02.04.2016, 12:40 30
Лучший ответ Сообщение было отмечено RAFA91 как решение

Решение

Цитата Сообщение от RAFA91 Посмотреть сообщение
из WCHAR в CHAR
WideCharToMultiByte
1
02.04.2016, 12:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2016, 12:40
Помогаю со студенческими работами здесь

Как перевести TCHAR в CHAR и обратно
Как преобразовать TCHAR в CHAR и обратно? Функцию какую-нибудь подскажите, а то с числами обход...

Преобразовать строку в символьный тип char
Подскажите пожалуйста как в Си можно преобразовать строку в символьный тип char, но чтоб...

Преобразовать массив символов char в строку String
Считываю из файла посимвольно, формирую массив. Нужно поместить это все в ячейку dataGridView. Как...

Преобразовать число int в строку прописью char
Например, вводим 40, 3 должно выдать sorok rubley tridcat kopeek. Пересмотрел много задач с...

Подскажите, пожалуйста, как преобразовать данные из excel в string или в char*, char perm [] в visual c++
Подскажите, пожалуйста, как преобразовать данные из excel в string или в char*, char perm также...

Как привести строку типа TCHAR в int
Есть строка TCHAR tmp; в ней записано число, нужно вытащить это число и записать его в переменную...


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

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

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