CString sql1,sName1,NameTem,a,b;
GetDlgItem(IDC_EDIT_NAME1)->GetWindowText(sName1);
sql1.Format("SELECT Name1 FROM TestTable WHERE TaskID =1");
db.search(sql1);
NameTem = db.getString("Name1");
a.Format("%s",sName1);
b.Format("%s",NameTem);/* if((StrComp(sName1,NameTem) > 0)||(StrComp(sName1,NameTem) < 0))
{
AfxMessageBox("Name1 is wrong!");
}*/ if(a.Compare(b) == -1)
{
AfxMessageBox("Name1 is wrong!");
}大家能理解这个的意思吧?我把它给解释下,sName1是EDIT控件里获得的值,NameTem是从数据库里取的值,现在想比较2个CString类型数据的大小,更确切的说是比较是否相等,因为有可能是中文。我在线等,期望大家给解释的详细点,谢谢。应该如何写呢?
GetDlgItem(IDC_EDIT_NAME1)->GetWindowText(sName1);
sql1.Format("SELECT Name1 FROM TestTable WHERE TaskID =1");
db.search(sql1);
NameTem = db.getString("Name1");
a.Format("%s",sName1);
b.Format("%s",NameTem);/* if((StrComp(sName1,NameTem) > 0)||(StrComp(sName1,NameTem) < 0))
{
AfxMessageBox("Name1 is wrong!");
}*/ if(a.Compare(b) == -1)
{
AfxMessageBox("Name1 is wrong!");
}大家能理解这个的意思吧?我把它给解释下,sName1是EDIT控件里获得的值,NameTem是从数据库里取的值,现在想比较2个CString类型数据的大小,更确切的说是比较是否相等,因为有可能是中文。我在线等,期望大家给解释的详细点,谢谢。应该如何写呢?
中文不影响比较
The following example demonstrates the use of CString::Compare.
// example for CString::Compare
CString s1( "abc" );
CString s2( "abd" );
ASSERT( s1.Compare( s2 ) == -1 ); // Compare with another CString.
ASSERT( s1.Compare( _T("abe" ) ) == -1 ); // Compare with LPTSTR string.
CompareNoCase //忽略大小写
<,<=,>,>=,=,!=
{
a的内容和b 的内容相等哈 ;
}
This conversion requires a reinterpret_cast, a C-style cast or function-style cast.不知道有没有其他更好的方法呢?在线等,谢谢
TrimLeft移除前面的空格
TrimRight移除后面的空格
The following example demonstrates the use of CString::Compare.
// example for CString::Compare
CString s1( "abc" );
CString s2( "abd" );
ASSERT( s1.Compare( s2 ) == -1 ); // Compare with another CString.
ASSERT( s1.Compare( _T("abe" ) ) == -1 ); // Compare with LPTSTR string.