我用ODBC读取一个字段为char(20)的值,m_read.GetFieldValue((short)0,str);str为CString.读也读出来了,但是它明明等于"qwqw",为什么我会说明明等于呢?,我是用MessageBox(str)看的,但是如果这样
if(str=="qwqw")
{
MessageBox(ok);
}这句就是不执行.我先以为有空格,但是通过手段排除了这个可能.我算是服了.
if(str=="qwqw")
{
MessageBox(ok);
}这句就是不执行.我先以为有空格,但是通过手段排除了这个可能.我算是服了.
实在要用,查一查CString的重载操作符==的实现代码,也可这样试试if(str==T("qwqw")){}
str.getBuffer(str.GetLenth())试试?
CHAR是后面加了空格."qwqw "
VARCHAR没有加"qwqw".
其它数据库也有这种情况.
你这样:
str.TrimRight();
if( str == "qwqw")
再试试