MFC中如何吧CString类型转换为double或int型?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中如何吧CString类型转换为double或int型?相关的知识,希望对你有一定的参考价值。
修改方式为: 在解决方案窗口右键工程名-->属性->General项(我用的是英文的)-->字符集, 选择多字节那个就行了。
1、转成int:int a = atoi(str.GetBuffer());
2、转成double:double b = atof(str.GetBuffer())。
CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。
mfc是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数,并且包含一个应用程序框架,以减少应用程序开发人员工作量。vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它你可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。有时人们说vc呢也指它的内部编译器,集成开发环境必须有一个编译器内核,要不有什么用,例如DevC++其中一个编译器内核就是gcc。
MFC除了是一个类库以外,还是一个框架,你应该试过,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率但是MFC的封装很浅,所以效率上损失不大,灵活性还可以,虽然也有很多缺陷,但还是一个比较好的东西。
CString str;
转成int: ;int a = atoi(str.GetBuffer());
转成double: double b = atof(str.GetBuffer());
// 如果你坚持要用unicode的话, 你就用下面两个函数:
转成int: ;int a = _wtoi(str.GetBuffer());
转成double: double b = _wtof(str.GetBuffer());
MFC char*如何转换为CString,并显示在edit box中
edit 定义了一个CString属性的值m_edit
现在有一个字符串指针char* str="abcde"
要怎么做才能将str指向的值赋给m_edit
我可以直接等于
mode.SetString(str);这个也行
参考技术A m_edit = str;UpdateData(FALSE);
前提是通过ClassWizard绑定的成员变量,也就是说DoDataExchange中有这么一行:
DDX_Text(pDX, IDC_EDIT1, m_edit);本回答被提问者采纳 参考技术B 要看编码方式,UNICODE的话,就要把str转换到宽字符。
m_edit = CA2W(str);追问
CA2W 需要头文件吗?是没有声明的变量
以上是关于MFC中如何吧CString类型转换为double或int型?的主要内容,如果未能解决你的问题,请参考以下文章