我想连接两个const char*但是当我这样做时,我得到了这些符号:` b
我做以下事情:
char* path = new char[strlen(args->targetFileName) + strlen(args->targetFilePath)];
cout << path << endl;
strcat(path,args->targetFilePath);
cout << path << endl;
strcat(path,args->targetFileName);
cout << path << endl;
Run Code Online (Sandbox Code Playgroud)
输出:
`?b
`?b/home/user/Arbeitsfläche/
`?b/home/user/Arbeitsfläche/Auto.png
Run Code Online (Sandbox Code Playgroud)
什么是错?有什么建议??
您尚未初始化path变量.你为它分配了内存,但它最初只包含垃圾,偶然有一个空值.然后连接字符串,以便将路径附加到垃圾箱.strcat用a 替换第一个strcpy,你应该是对的.