如何替换 TCHAR 字符串中的字符
How to replace character in TCHAR string
我有一个包含路径的TCHAR字符串。我需要将/
的所有出现(如果有)替换为路径中的。保存路径的变量定义如下:
TCHAR mypath[1024];
如果mypath
包含C:/new/newfile/a.txt
,那么我需要将/
替换为,以便生成的字符串变得
C:newnewfilea.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] = '';
}
相关文章:
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 尝试将字符串/字符转换为整数会产生意外结果
- 为什么没有访问所有字符串字符?
- 将子字符串字符从字符串值转换为 int,然后将其分配给 int 变量
- 如何将字符串字符与结构数组进行比较?
- 将单个字符串/字符输入串行监视器
- 读取字符串字符时出错 - 对于数组中的字符串值
- C++ C 样式字符串/字符数组的大小 - 优化
- 读取字符串字符时出错
- C++ 使用 Strtok 读取字符串字符时出错
- 如何将 int 数组的 1 个元素转换为字符串/字符
- 在另一个字符串中逐个复制字符串字符
- 将字符串字符映射到矢量
- MBED RTOS将Float转换为字符串/字符阵列
- 如何使用字符串字符数组中的 ++ 运算符访问下一个字符串
- 如何比较C++中的单个字符串字符?
- 内部字符串/字符如何在 int 和 float 中存储
- 将十六进制转换为可打印的字符串/字符
- wcscpy_s后读取字符串字符时出错
- 检查字符串字符和长度