在用strcmp进行比较字符串的时候,问题:
1、当字符串中含有*\0*的时候,strcmp会默认为到了字符串的结尾,字符*\0*之后的字符不会在进行比较。
2、可以将两个存有字符的数组转换成CString类型的字符串进行比较。CString类的成员函数compare也可以进行字符串的比较操作。
定义:
char SendOrder[5] = {0x10, 0x06, 0x00, 0x02, 0x01};
CString tempstr;
tempstr.Format("%d %d %d %d %d", SendOrder[0], SendOrder[1], SendOrder[2], SendOrder[3], SendOrder[4], );
3、由于字符*\0*的十六进制码是0x00,所以当将一组十六进制的数据进行传给数组,并进行比较的时候,如果接受到的数据中有0x00,最后比较的结果会出错。
1、当字符串中含有*\0*的时候,strcmp会默认为到了字符串的结尾,字符*\0*之后的字符不会在进行比较。
2、可以将两个存有字符的数组转换成CString类型的字符串进行比较。CString类的成员函数compare也可以进行字符串的比较操作。
定义:
char SendOrder[5] = {0x10, 0x06, 0x00, 0x02, 0x01};
CString tempstr;
tempstr.Format("%d %d %d %d %d", SendOrder[0], SendOrder[1], SendOrder[2], SendOrder[3], SendOrder[4], );
3、由于字符*\0*的十六进制码是0x00,所以当将一组十六进制的数据进行传给数组,并进行比较的时候,如果接受到的数据中有0x00,最后比较的结果会出错。