如何替换TCHAR字符串中的字符

时间:2013-11-12 06:16:03

标签: c++ visual-c++ wchar-t wchar tchar

我有一个包含路径的TCHAR字符串。我需要在路径中替换/\的所有出现(如果有)。保存路径的变量定义如下:

TCHAR mypath[1024];

如果mypath包含C:/new/newfile/a.txt,那么我需要将/替换为\,以便生成的字符串变为C:\new\newfile\a.txt

此外,我需要调整的文件已经定义了UNICODE如下:

#ifndef UNICODE
#define UNICODE
#endif

wcsncmp等函数已用于字符串比较。如何在TCHAR字符串中实现字符替换?

1 个答案:

答案 0 :(得分:1)

Windows操作系统中的路径最多为260个字符。因此,我认为其中一种方法是进行强力发现/替换。

#include <stdlib.h>
TCHAR myPath[_MAX_PATH];

for (int i=0; i<_MAX_PATH && myPath[i]; i++)
{
    if (myPath[i] == '/')
       myPath[i] = '\\';
}