有关mfc的问题?顺便问下compare函数作用?

f(!str.Compare("ok")){MessageBox("已报成功","内容",MB_OK);}这条语句如何理解?voidCMyclientDlg::OnBut... f(!str.Compare("ok"))
{

MessageBox("已报成功","内容",MB_OK);

}这条语句如何理解?
void CMyclientDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CSocket clientSocket;
UpdateData(TRUE);
clientSocket.Create();
clientSocket.Connect(m_serverip,m_myport);
CString str=m_name+"_"+m_code+"_"+m_item;
clientSocket.Send(str,sizeof(str),0);
char buf[1024];
clientSocket.Receive(buf,sizeof(buf),0);
CString str=buf;
if(!str.Compare("ok"))
{

MessageBox("已报成功","内容",MB_OK);

}
clientSocket.Close();
}
展开
zhang_junchen
推荐于2018-05-14 · TA获得超过3019个赞
知道小有建树答主
回答量:858
采纳率:0%
帮助的人:1080万
展开全部
CString类的Compare方法比较两个字符串的内容,相同则返回0,不同的时候要分情况:对于CString a,b;
a.Compare(b),如果a>b则返回1,如果a<b则返回-1
比如a="abc",b="def",此时根据字典顺序,a<b,如果a="abc",b="ab",则a>b
str是远程socket的返回值
str等于“ok”时,str.Compare("ok")就返回0,0转换成bool值为false,前面再加个取反,则!str.Compare("ok")就是true了
同理str不等于“ok”时,!str.Compare("ok")就是false
if(!str.Compare("ok"))就是判断如果返回值等于“ok”就执行if里面的语句
匿名用户
2011-10-13
展开全部
写程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式