c++中mfc里我创建了一个编辑框,是cstring类型的,利用一个指针指向它

c++中mfc里我创建了一个编辑框,是cstring类型的,利用一个指针指向它怎么才能判断这个指针的内容是否为某字符呢,我直接写
if(pResult="中文")
结果提示操作数类型不兼容,请问要怎么写呢

如果是CString类型,那是你为这个控件创建了一个值变量。就不可能是指针了。如果是指针那肯定是CEdit类型的控件变量。
如果是控件变量用GetWindowText函数来获取控件上的值。
如果是值变量,要先用UpdateData(TRUE);把控件上的内容更新到该控件对应的值变量上再比较。追问

我是在对话框那个界面设置的变量为Cstring的,我的代码是这样的,请问大神应该怎么写呀

追答

你这里定义的CEdit控件变量。
用GetWindowText方法获取控件上的值。
先定义一个CString,然后把这个变量作为GetWindowText函数的参数,然后再拿这个变量和你要比配的值去比较。

追问

应该写
CString*pResult;
pReult=(CString*)GetWindowText(IDC_EDIT1);
if(pResult="中文")
...
对吗

我们好像还没学到GetWindowText的用法,不知道对不对诶

追答

不对。
在if前面加两行
CString aa;
pResult->GetWindowText(aa);

然后
if(aa=="...")

追问

好厉害,谢谢大神

对了,这个CEdit*pReult;是什么用法呀

追答

CEdit*pReult 是定义了一个CEdit(编辑框)类型的指针,用GetDlgItem可以根据控件的ID获得这个界面上指定控件的指针并赋值给pReult,然后你就可以用这个指针对这个控件进行操作。

追问

好的,太感谢了

追答

嗯,请采纳。

追问

咦,怎么成这样了啊

温馨提示:内容为网友见解,仅供参考
无其他回答

C++写程序定义一个字符串类CString的实现,并用主函数测试所写的CString...
CString(char const * ps)void insert(char const * ps)这两个地方可以加const, 说明这两个程序不可以改变ps指向的字符串

c++ mfc 中提取编辑框中数字的方法,新手,求大神!
方法很多,有一种方法是 先得到编辑框中的CString类型的数据,然后将CString转化为char 数组类型,然后取出相应的字符,再转化为需要的类型。或者直接用CString里的成员函数,直接就能查找相应字符。

VC++MFC问题,怎样在按下按钮后,已文本形式保存指定编辑框中的内容
这样你对话框中编辑框的信息就可以存储在一个变量中了,然后在外部创建对话框以后,可以通过这个变量来存放信息。例如:CExampleDialog Dialog; \/\/ 创建对话框类 if( Dialog.DoModal() == IDOK ) \/\/ DoModal作用是显示对话框,IDOK是OK按钮的ID { CString ExampleString = Dialog.m_String; \/...

C\/C++ 中cstring用法?
1.CString::IsEmptyBOOL IsEmpty( ) const;返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。说明:此成员函数用来测试一个CString 对象是否是空的。2.CString::LeftCString Left( int nCount ) const; throw( CMemoryException );返回值:返回的字符串是前nCount个字符。返回值:如果加载资源成功则返...

C++中如何将字符指针指向的内容赋给一个字符数组
可以使用库函数strcpy,或者自己来实现 简单的说,就是:定义一个指针指向str,例如char *cur=str;while(*p!='\\0')(cur++)=*(p++);

C++CString类型的变量怎么判断是某个字符串啊
CString是MFC提供的字符串类 你用如下两个函数做字符串比较 cstr1.Compare("C++")==0 cstr1.CompareNoCase("C++")==0

C++ mfc 如何设置子对话框中edit控件的初始默认值?
你用的是VC吗,直接改属性,或者给EDIT绑定一个变量,变量类型为DOUBLE,也可以是其他的,看你以后用什么了,然后在窗体初始化函数下让这个变量比如m_edit = 1,再加个UpdateData(0),也有可能是UpdateDate(1)我忘了,就行了,这样你以后用到这个值的时候也方便。

MFC中如何吧CString类型转换为double或int型??
1、转成int:int a = atoi(str.GetBuffer());2、转成double:double b = atof(str.GetBuffer())。CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说...

C#中怎样调用具有C++编写的CString类型参数的方法
这个还真的没搞过,不过建议你去查查 C++中 此类型 和C# 中那个类型对应,GetParameter(CString&) 此函数的意思 大概是类似C#中的按引用传递值。祝你早日找到答案

visual c++中如何提取一个对话框中的文本
在对话框中,如果用sdk方式,可以用GetWindowText , 用GetDlgItem获得HWND 也可以用GetDlgItemText只需传入父窗口的HWND控件ID,不用EDIT的HWND.总之用GetDlgItemText比较方便一些。如果是MFC方式编程的话,只需Edit控件子类化,也就是关联一个CEdit类型的变量,则直接调用的CEdit类型变量的成员函数GetWindowText就可以...

相似回答