我正在处理遗留代码,其中字符串文字被分配给标题中定义的类型PTCHAR
(指向字符的指针(的变量:typedef WCHAR TCHAR, *PTCHAR;
PTCHAR str;
str = _tcsrchr(dir, '\');
*(str++)=0;
str = TEXT("This is stackoverflow");
我收到警告"从字符串文字到指针到字符(非常量(的转换已弃用", 我知道警告即将到来,因为常量被分配给一个非常量指针变量,但我无法制作 str CONST(LPCSTR(,因为它在代码中被修改为*(str++)=0;
有没有办法解决这个问题?
如果以后要修改字符串,则需要复制它,例如使用_wcsdup()
.完成后不要忘记free()
它。