|
3 / 3 / 1
Регистрация: 16.04.2009
Сообщений: 127
|
|
TCHAR16.05.2010, 14:40. Показов 18751. Ответов 5
Метки нет (Все метки)
Добрый день,
скажите пожалуйста, как преобразовать строку char[25] в TCHAR, к примеру, у меня есть char *path = new char[45]; strcpy( path, "\\Process(firefox)\\Elapsed Time"); И мне нужно вызвать функцию, кот. принимает LPCTSTR : PDH_STATUS PdhAddCounter( __in PDH_HQUERY hQuery, __in LPCTSTR szFullCounterPath, __in DWORD_PTR dwUserData, __out PDH_HCOUNTER *phCounter ); Как мне привести path к LPCTSTR?
0
|
|
| 16.05.2010, 14:40 | |
|
Ответы с готовыми решениями:
5
TCHAR from const char условие для tchar Как добавить текст в TCHAR |
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
| 16.05.2010, 19:36 | ||||||
|
Если у тебя проект собирается без юникода (макрос _UNICODE не определен), то делать ничего не нужно - компилятор выполнит нужное преобразование автоматически. Если же проект собирается с юникодом, то использование char и функций str... ни к чему хорошему не приведет.
Еще же лучше, используй TCHAR и функции вида _tcscpy... - все получится автоматически.
1
|
||||||
|
3 / 3 / 1
Регистрация: 16.04.2009
Сообщений: 127
|
|
| 17.05.2010, 09:21 [ТС] | |
|
Спасибо, так и стану делать.
Просто я как-то больше привык с char работать, вот и не хотел париться. CheshireCat, а я слышал на каком-то форуме, что TCHAR * писать плохо, типа надо писать LPCTSTR. Это правда? Лично мне намного понятнее и удобнее писать TCHAR * ))
0
|
|
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 17.05.2010, 09:48 | |
|
Смысл использования TCHAR, макросов вида _T("..."), всяких _tcscpy() и иже с ними - в том, чтобы один и тот же код можно было бы простым изменением одного макроса в настройках проекта (_UNICODE определен или нет) собирать как в ANSI-, так и в UNICODE-версиях - без какого-либо изменения в самом коде, т.к. любое изменение, вносимое в отлаженный код - отличный способ внести еще и ошибки :-)
Что касается различия между TCHAR* и LPCTSTR. Собственно, TCHAR* - это есть LPTSTR, но не LPCTSTR. А вот const TCHAR* - это и есть LPCTSTR, различие в этой буковке C, которая обозначает const. Это все определенные MS макросы. Писать можно и без них, но тогда придется точно указывать типы данных "руками".
1
|
|
|
23 / 23 / 5
Регистрация: 17.09.2008
Сообщений: 130
|
||||||||||||
| 17.05.2010, 10:37 | ||||||||||||
MultiByteToWideChar
WideCharToMultiByte
0
|
||||||||||||
|
270 / 176 / 46
Регистрация: 12.03.2010
Сообщений: 494
|
|
| 17.05.2010, 10:46 | |
|
TCHAR это не совсем тип, он используется для создания универсального кода, который способен работать как с char так и с wchar_t (переключается определением UNICODE). Сюда же относится макрос TEXT("asd").
Для примера: TCHAR str[] = TEXT("asd");
2
|
|
| 17.05.2010, 10:46 | |
|
Помогаю со студенческими работами здесь
6
BOOL DeleteDirectory(const TCHAR* sPath); преобразовать wchar_t [255] в const TCHAR [] TCHAR + float != дружба или плохой wsprintf Как привести строку типа TCHAR в int TCHAR и string Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД 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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|