C++ 控件关联变量不能为string?

来源:百度知道 编辑:UC知道 时间:2024/06/03 16:17:55
只能为CString?
回78952angel: 但我学的时候都是用string的 所以如果能转回string的话 可以处理的技术会比用cstring多非常多
但现在无法把CString转成string,令我非常困惑啊~~~到底怎么转的啊~~~

怎么会,只是不同的控件可以关联的不一样而已。比如EDIT 框,能关联CSTRING和INT、LONG等,不同的控件关联的变量也不同,添加变量的时候对话框里有选项,你可以根据自己的需要选择啊。

请参考 http://www.google.cn/search?client=aff-os-worldbrowser&forid=1&ie=utf-8&oe=UTF-8&hl=zh-CN&q=CString%E8%BD%AC%E6%88%90string 祝你好运

string.h是C语言中字符串操作函数的头文件
cstring是c++对C语言中的strcpy之类的函数申明,包含cstring之后,就可以在程序中使用C语言风格的strcpy之类的函数。
string是c++语言中string类模板的申明
CString是MFC中定义的字符串类,MFC中很多类及函数都是以CString为参数的,另外CString类重载了(LPCSTR)运算符,所以如果你在MFC下面使用CString类,就可以直接用CString类做为参数来调用需要一个C语言风格字符串的win api函数,编译器会自动调用(LPCSTR)成员函数完成从CString到一个C风格字符串的转换。如果你在MFC下使用C++语言中标准的string类,那么在调用需要C语言风格的字符串为参数的win api时,你必须显示调用sting.c_str()成员函数,来完成同样的转换,也就是说在使用MFC里,如果用CString类,会比sting类方便那么一点点。

对,因为VC中对关联变量要实现DoDataExchange方法,而这个方法中的DDX_Text函数,只支持VC默认的12种类型参数,其中不包括string,但包括LPTSTR

当然了,