奇怪的问题"0"为什么不等于"0" 字符串比较不能用"==", 要用函数,比如_tcscmp应该改成:GetWindowText(hEditItem,yy,100000);if( 0 == _tcscmp(yy,"0") ){ strcat(yy,"1");} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你这里的yy是变量的地址了(因为yy是一个字符串指针)而"0"巧合也是一个字符串,并且可惜的是它是一片临时内存区,而且你==号得到的值是该字符串的地址..很明显,两者当然不会相等...要比较也可以..用strcmp吧... 这样还是不对呀//chat yy[80]=""; GetWindowText(hEditItem,yy,100000); if(strcmp(yy,"0")){ SetWindowText(hEditItem,yy); } else{strcat(yy,"1");SetWindowText(hEditItem,yy);} 有什么问题?注意strcmp 返回值为0才是相等.if(!strcmp(yy,"0")){SetWindowText(hEditItem,yy); } CString strYY;GetWindowText(strYY);if (strYY == _T("0")){ ...} bskay()nerver的代码可能有效,毕竟CString已经重载了"=="操作符 关于打印机型号的取得(MFC) OnPaint显示不出画面 关于CEdit类在获得焦点触发弹出一个对话框后 VC对话框中 list box 怎么使用啊 关于在多线程中使用MSCOMM32.ocx(急) COM+组件服务管理器出现注册表方面的问题,请问如何解决,不胜感激。 关于手动生成Doc/Frame/View的问题,我已经写一个失败的例子,各位帮我看看错在哪了? 如何扩展一个已有OCX控件的功能? xml属性名规范,允许哪些字符 stdafx.*是干什么用的? 如何得到SQL的字段名 如何用VC++6。0编程接收从COM口传过来的数据?
而"0"巧合也是一个字符串,并且可惜的是它是一片临时内存区,而且你==号得到的值是该字符串的地址..很明显,两者当然不会相等...要比较也可以..用strcmp吧...
//chat yy[80]="";
GetWindowText(hEditItem,yy,100000);
if(strcmp(yy,"0")){ SetWindowText(hEditItem,yy);
}
else{strcat(yy,"1");SetWindowText(hEditItem,yy);}
注意strcmp 返回值为0才是相等.if(!strcmp(yy,"0")){SetWindowText(hEditItem,yy); }
GetWindowText(strYY);if (strYY == _T("0"))
{
...
}