VC MFC中 CString未定义标示符 怎么解决?

头文件添加#include<afx.h>也不对... 头文件添加#include <afx.h>也不对 展开
 我来答
bhtzu
2015-01-04 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4229万
展开全部
  1. 如果是标准MFC程序的框架内代码,那么CString是默认支持的,不需要添加额外的头文件包含。

  2. 如果是MFC程序的自定义cpp源文件代码,那么在cpp文件最顶部,首先包含#include "stdafx.h" 就可以支持CString和所有MFC标准类。

  3. 如果不是标准MFC程序,一般不推荐使用CString类,string对象和模板类都支持字符串操作,char*和延展的LPSTR等,都可以进行字符串操作,使用CString会带来额外的开销和问题。

追问
把CString转换char*应该怎么写
追答
CString的默认类型为TCHAR,TCHAR的定义是,在UNICODE下为WCHAR(两个字节)需要通过函数转换为char*,在多字节编码下为char,可以直接转换和使用。
如果是多字节编码(在工程设置中查看),那么以下几种都是转换方式,根据不同的情况使用:
CString str;
str.GetBuffer(0);// 使用后ReleaseBuffer
(LPCTSTR)str;
str.operator LPCTSTR
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式