请问,我创建了一个MFC工程,定义了一个CEdit类型的控件,我要怎么在这个控件输出int的变量?

我用TCHARtext[100];_stprintf(text,_T("%d%"),value);::SetWindowTextA(NULL,&text);总是提示类型不... 我用
TCHAR text[100];
_stprintf(text,_T("%d%"),value);
::SetWindowTextA(NULL,&text);
总是提示类型不对,其它一些方式也尝试过了,像是itoa,sprintf之类的,转换的都不对。
还有,我以前看C++,学到的类型都是,int,float.long.char.string这些都类型,VC++里的类型完全没见过。例如TCHAR,LPCTSTR之类的,我要学习这方面的知识该看哪些书?
展开
 我来答
百度网友3038d88
2012-10-31 · TA获得超过1097个赞
知道小有建树答主
回答量:1670
采纳率:0%
帮助的人:1171万
展开全部
::SetWindowTextA(_in HANDLE hWnd, _in_opt LPCSTR lpString)

这是函数原型.
第一个参数应该给 控件句柄.
第2个参数,其实就是CString.

从你的代码看, 这么调用应该不对. 首先你第一个参数给NULL , 完全不知道你想设置哪个 控件的Text

第2个参数, 你定义一个CString 类型就好了.
TCHAR text[100];
_stprintf(text,_T("%d%"),value);

CString strTmp;
strTmp.Format(_T("%s"),text);
::SetWindowTextA(NULL,strTmp);//第一个参数给 控件句柄.

这样调用不太好.
还是控件变量 CEdit.SetWindowText(strTmp); 这样方便
更多追问追答
追问
CString我也尝试过了,刚刚我也复制了你的代码试了次。会提示,Error:不存在从"CString"到"LPCSTR"的适当转换函数。我只是想在MFC上面输出一个int变量。

还想请教一下就是。这些类型是VC++独有的吗,如果想了解的话,是不是应该学VC++?
追答

是MFC的类型. 你应该学习 MFC 界面方向.

真是抱歉. 你应该是用vs2008以上版本创建的功能.

我现在对字符编码还是一知半解的.

如果是我,我就选择  如图:


关于字符编码,参考其他回答.

这样设置比较方便

wangpaishi
2012-10-31 · TA获得超过570个赞
知道小有建树答主
回答量:932
采纳率:52%
帮助的人:763万
展开全部
#ifdef UNICODE
CStringW text;
#else
CString text;
#endif

在这里,都是text变量名,可以直接和LPCSTR显示/隐式转换了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式