CString + 为什么不起作用???
发布网友
发布时间:2023-07-05 23:23
我来回答
共1个回答
热心网友
时间:2023-10-13 08:55
这些变量中有可能有\0结尾的字符。
CString 在遇到\0后自动截断后面的字符,只保留\0前面的。
例:
CString szTarget = "I ";
CString szLink = "LOVE ";
CString szType = "YOU";
szType = szType + '\0';
CString mklink = _T("/c mklink");
CString szMsg = _T("");
CString szCommand;
szCommand.Format(_T("%s %s %s %s"), mklink, szType, szLink, szTarget);
//szCommand = mklink + _T(" ") + szType + _T(" ") + szLink + _T(" ") + szTarget;
MessageBox(szCommand);
用Format是正确的。
而用+号连接时就截断了,输出如下:/c mklink YOU。
希望你能看懂。