Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Склейка типов


Автор: InsideYou 18.7.2008, 17:56
Народ, подскажите пожалуйста... есть переменная типа TCHAR и мне нужно приклеить к ней текст. Делал через memcpy, это правильно? Или есть другой вариант?
И ещё, как можно переименовать расширение файла не трогая имя? Или опять же работа с текстом будет, надо будет удалять расширение и писать своё?

Заранее спасибо.

Автор: Rififi 18.7.2008, 18:57
Цитата(InsideYou @  18.7.2008,  18:56 Найти цитируемый пост)
Народ, подскажите пожалуйста... есть переменная типа TCHAR и мне нужно приклеить к ней текст. Делал через memcpy, это правильно? Или есть другой вариант?

неправильно. в TCHAR может храниться только 1 символ и никакой текст к нему прилепить нельзя.
юзать TCHAR* или std::string/std::wstring

Цитата(InsideYou @  18.7.2008,  18:56 Найти цитируемый пост)
И ещё, как можно переименовать расширение файла не трогая имя? Или опять же работа с текстом будет, надо будет удалять расширение и писать своё?

иногда может прокатить PathAddExtension, но в большинстве случаев - пишем своё, то есть разбираем путь на составляющие, заменяем расширение, собираем обратно (можно воспользоваться _tsplitpath/_tmakepath).

Автор: InsideYou 18.7.2008, 19:21
Ну вообщем идёт как 
Код

TCHAR path[MAX_PATH]
 - это путь, в переменную заносится текущая дериктория, с помощью GetCurrentDir.
Затем осуществляется поиск файлов, 
Код

FindFirstFile(path,&FindData); (WIN32_FIND_DATA FindData)

И мне нужно к path припаять маску "*.*". Тобишь чтобы нашло все файлы. Вооот, как это сделать?

Автор: Rififi 18.7.2008, 19:32
PathAppend(path, _T("*.*"))
или
StringCchPrintf(path, MAX_PATH, _T("\\*.*"))

Автор: 586 18.7.2008, 19:34
Код
#include <tchar.h>

_tcscat(path, TEXT("\\*.*"));

Автор: InsideYou 18.7.2008, 19:38
Опа, мужики, спасибо большое  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)