开发者社区> 问答> 正文

关于CString的问题.我定义了一个CString的全局对象GetPath

我定义了一个CString的全局对象GetPath
上一步GetPath的值为"C:windowsuser"
然后我GetPath+="data.txt";
GetPath的值怎么变成了“data.txt”而不是"C:windowsuserdata.txt"
PS: GetPath我是定义在另一个源文件中的

展开
收起
a123456678 2016-03-04 16:52:15 2272 0
1 条回答
写回答
取消 提交回答
  • CString s1 = _T("This ");        // Cascading concatenation
    
    s1 += _T("is a ");
    
    CString s2 = _T("test");
    
    CString message = s1 + _T("big ") + s2;  
    
    // Message contains "This is a big test".

    CString类是重载了“+”操作的,没有问题,请仔细检查下代码。
    如果GetPath定义在另一个源文件中,那么请加上这么一句:

    extern CString GetPath;
    不然编译怎么可能通过能,应该提示“无法解析的外部变量”!

    还有“GetPath+="data.txt";”应该写成“GetPath+="\data.txt";”,因为“”是转义符号,而不是路径中的分割符。
    如果不知道到底是哪儿出了问题,可以在“GetPath+="data.txt";”前加个断点(break point),然后F5启动调试,配合F10单行调试,看看到底是哪儿引起赋值错误。

    2019-07-17 18:52:32
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载