У меня есть строка TCHAR, которая содержит путь. Мне нужно заменить все случаи, если таковые имеются, /
с \
в пути. Переменная, содержащая путь, определяется следующим образом:
TCHAR mypath[1024];
Если mypath
содержит C:/new/newfile/a.txt
тогда мне понадобится /
быть замененным \
так что результирующая строка становится C:\new\newfile\a.txt
,
Кроме того, файл, который мне нужно адаптировать, уже имеет UNICODE, определенный следующим образом:
#ifndef UNICODE
#define UNICODE
#endif
И функции как wcsncmp
были использованы для сравнения строк. Как я могу добиться замены символов в строке TCHAR?
Попробуйте следующий код:
TCHAR *pCH = mypath;
while ( ( pCH = _tcschr( pCH, _T('/') ) ) != NULL )
{
*pCH = _T('\\');
}
Путь в ОС Windows не более 260 символов. Итак, я думаю, что один из способов — найти / заменить грубой силой.
#include <stdlib.h>
TCHAR myPath[_MAX_PATH];
for (int i=0; i<_MAX_PATH && myPath[i]; i++)
{
if (myPath[i] == '/')
myPath[i] = '\\';
}