不推荐使用 PTCHAR 的字符串文本
String literals to PTCHAR is deprecated
我正在处理遗留代码,其中字符串文字被分配给标题中定义的类型PTCHAR
(指向字符的指针(的变量:typedef WCHAR TCHAR, *PTCHAR;
PTCHAR str;
str = _tcsrchr(dir, '');
*(str++)=0;
str = TEXT("This is stackoverflow");
我收到警告"从字符串文字到指针到字符(非常量(的转换已弃用", 我知道警告即将到来,因为常量被分配给一个非常量指针变量,但我无法制作 str CONST(LPCSTR(,因为它在代码中被修改为*(str++)=0;
有没有办法解决这个问题?
如果以后要修改字符串,则需要复制它,例如使用_wcsdup()
.完成后不要忘记free()
它。
相关文章:
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 在编译时检查字符串文本的长度
- 读取字符串文本输入以创建 2D 矢量
- 管理字符串文本的最佳做法
- 定义宏以将前缀 0x 添加到十六进制字符串文本
- 无法在模板参数中定义字符串文本
- 不推荐使用 PTCHAR 的字符串文本
- C++ 字符串文本和常量
- C++20字符串文本模板参数工作示例
- 返回从字符串文本创建的静态string_view是否安全?
- 在处理任何字符大小的模板中使用字符串文本
- 是否保证相同内容字符串文本的存储相同?
- 将以 null 结尾的字节字符串转换为原始字符串文本
- 是否可以创建一个用户定义的文本,将字符串文本转换为 own 类型的数组?
- 使用C++中的模板检测不同的字符串文本
- 无法完全专用化字符串文本的模板
- C++ - 确定 const char* 是指向字符串文本对象还是动态对象
- 是否可以在原始字符串文本中插入转义序列?
- C++带有捕获组的正则表达式字符串文本
- 为什么多维数组中的空字符串文本衰减为空指针?