我为这个简单愚蠢的问题感到抱歉,但它一再出现在我的书中,几乎让我发疯-(
我学习API/MFC,书是基于VC++6.0的,但我的VS版本是2010,因为版本差异,我不知道如何将其修复为匹配的VC++2010:
...
CString str;
str.Format("%s, blah...", whatever.output);
...
我有两个vc++6.0&安装了vc++2010,示例代码在vc++6.0中运行良好,但在vc++2010中不起作用,有人说转换为(LPCTSTR)是解决方案,但
str.Format("%s, blah...", (LPCTSTR)whatever.output);
仍然不起作用!
我错过了什么重要的东西吗?但我该怎么办?
谢谢你的回答。
从您的评论来看,这似乎是一个编译器错误,因为项目设置为Unicode。您通过将项目设置为非Uncode来避免错误,但为了修复错误,使其同时以Unicode和非Unicode配置进行编译,您应该使用_T
宏封装所有字符串文字,如下所示:
str.Format(_T("%s, blah..."), whatever.output);
// ^^^_____________^ <-- add this