Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/40: Рейтинг темы: голосов - 40, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 26

Преобразование char в TCHAR

28.12.2015, 21:43. Показов 7545. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, ломаю голову как преобразовать char в TCHAR, для того чтобы вывести его потом через SetWindowText
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.12.2015, 21:43
Ответы с готовыми решениями:

Как преобразовать строку из CHAR в TCHAR
Добрый день ! Подскажите пожалуйста, как преобразовать строку из CHAR c = ("ПРИВЕТ КАТЯ !!!"); в TCHAR d = _T(""); ...

Преобразование TCHAR в int
Есть код: #include <windows.h> HBITMAP bmp; LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; HWND button1, button2,...

Преобразование из TCHAR в string
HWND hwnd_wind; hwnd_wind = GetForegroundWindow(); int length; length = GetWindowTextLength(hwnd_wind); title = new TCHAR; ...

9
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
28.12.2015, 21:49
Для начала нужно понять, что такое TCHAR (может быть char, тогда преобразование
не нужно, может быть wchar_t, тогда MultiByteToWideChar в помощь).
1
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
28.12.2015, 21:51
А разве там не простой указатель?
C++
1
2
char *s="строчка";
if(SetWindowText(Handle,s)) порядочек;
Не? Зачем в TCHAR преобразовывать?
1
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 26
28.12.2015, 22:22  [ТС]
Расскажу по подробней, может быть с этого и надо было начинать.
Есть часть кода
C++
1
2
3
4
char buf[5]; // char потому, что sprintf с TCHAR не работает
float x = 12345;
sprintf(buf, "%d" , x);
SetWindowText(Edit, buf); // вот тут то мне и надо вывести строку, а на char выдаёт ошибку, по этому и надо преобразовать
0
 Аватар для jonson
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
28.12.2015, 23:37
Лучший ответ Сообщение было отмечено dimaproger321 как решение

Решение

Цитата Сообщение от dimaproger321 Посмотреть сообщение
char потому, что sprintf с TCHAR не работает
Если уж решил работать с TCHAR
C++
1
2
3
4
5
#include <tchar.h>
TCHAR buf[20];
float x = 12345.;
_stprintf(buf, _T("%f"), x);
SetWindowText(Edit, buf);
А вообще, советую с юникодом работать.
1
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 26
29.12.2015, 07:43  [ТС]
Спасибо, а не могли бы вы обьяснить новичку что такое юникод и в чем его преимущества?
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
29.12.2015, 10:46
Цитата Сообщение от dimaproger321 Посмотреть сообщение
что такое юникод и в чем его преимущества?
Юникод позволяет писать на разных языках. Например латиница описывается 1-м байтом. Кириллица тоже.
А вот Кандзи сложно одним байтом описать. 3-4 мя как минимум. Юникод позволяет описать символ более чем одним байтом, в этом его преимущество. Много языком планеты Земля поддерживает
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33185 / 21483 / 8231
Регистрация: 22.10.2011
Сообщений: 36,855
Записей в блоге: 12
29.12.2015, 14:22
Цитата Сообщение от Hikari Посмотреть сообщение
Кириллица тоже.
Неправда. Кириллица уже кодируется 2-мя байтами. Один байт - только латиница, знаки пунктуации и цифры.
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
29.12.2015, 14:48
Цитата Сообщение от volvo Посмотреть сообщение
Кириллица уже кодируется 2-мя байтами.
В DOS кириллицу умещали в один байт. Латиница как я помню занимала первые 128 значений, а остальное до 254 отдавалось кириллице и псевдографике.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
29.12.2015, 14:56
Цитата Сообщение от Hikari Посмотреть сообщение
Юникод позволяет писать на разных языках. Например латиница описывается 1-м байтом. Кириллица тоже.
Цитата Сообщение от volvo Посмотреть сообщение
Неправда. Кириллица уже кодируется 2-мя байтами.
Если уже на то пошло, количество байт на символ определяется не Юникодом, а
соответствующими юникодными кодировками - UTF-8, UTF-16 и т.д.
А Юникод определяет лишь кодовую точку для каждого символа - понятие,
абстрагированное от конкретного байтового представления.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.12.2015, 14:56
Помогаю со студенческими работами здесь

Аргумент типа const char* не совместим с параметром типа TCHAR*
Здравствуйте, появилась проблема с кодом, при наведении на: NtOpenProcess, NtClose, NtWriteVirtualMemory, NtProtectVirtualMemory...

Преобразование char* в LPCWSTR
Какие функции необходимы для преобразования из char* в LPCWSTR? Заранее спасибо!

Преобразование типов WCHAR в char
задача такая: сформировать строку в Edit и совершить действие с числом (калькулятор). Дело в том, что Edit работает со строкой WCHAR, а...

Некорректно преобразование Edit в Char идет
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_CREATE: {...

Юникод в массиве char и преобразование его в ANSI
Привет всем! Есть источники, который возвращает строку из char (это типо информация название данных). Все бы хорошо, но некоторые...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru