我有一个功能
ClassA::FuncA(const char *filePath)
Run Code Online (Sandbox Code Playgroud)
并希望将此const char字符串*复制到char*!
我的解决方案
char *argv[2];
int length = strlen(filePath);
argv[1] = new char(length +1);
strncpy(argv[1], filePath, length);
Run Code Online (Sandbox Code Playgroud)
在此之后,我在argv [1]中得到了所需的字符,还有其他一些未定义的字符!
文件路径:
"C:\用户\用户A \Parameter.xmlþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþKŸQyá•"
这里有什么不对?strlen的长度还可以!
Luc*_*ore 16
像这样:
argv[1] = new char[length +1](); // () to value-initialize the array
Run Code Online (Sandbox Code Playgroud)
你的版本:
argv[1] = new char(length +1);
Run Code Online (Sandbox Code Playgroud)
只分配一个char并将值初始化为length+1.