代码如下:
CString str1 = "Out2.txt";
CString str2 = "OutText.txt"; int index = 3;
char ch1 = str1.GetAt(index);
char ch2 = str2.GetAt(index); 为什么得到的 ch1 和 ch2 前面都带有一个数字啊?
我要让 ch1 = 2 ; ch2 = T 就是这样的字符 。 为什么会这样啊? 怎么做啊?
各位高手请指教指教小弟吧,谢谢了 !
CString str1 = "Out2.txt";
CString str2 = "OutText.txt"; int index = 3;
char ch1 = str1.GetAt(index);
char ch2 = str2.GetAt(index); 为什么得到的 ch1 和 ch2 前面都带有一个数字啊?
我要让 ch1 = 2 ; ch2 = T 就是这样的字符 。 为什么会这样啊? 怎么做啊?
各位高手请指教指教小弟吧,谢谢了 !
2 你打印、显示、存储......的时候,看看是不是按char 保存打印的?....
3 不行的话,ch1 ch2 str1 str2 赋初值为空.
CString str1("");
CString str2("");
char ch1 = 0;
char ch2 = 0;
str1 = "Out2.txt";
str2 = "OutText.txt";int index = 3;
ch1 = str1.GetAt(index);
ch2 = str2.GetAt(index);
估计是第二个原因
你在VC的调试器里看到的应该是:
ch1: 50'2' (或者 0x32'2')
ch2: 84'T' (或者 0x54'T')
其实都是一回事:字符'2'的ASCLL码值是 50,也就是十六进制的 0x32 ;字符'T'同理……
前面带有数字就比较不出来 不对!
CString str1 = "Out2.txt";
CString str2 = "OutText.txt";int index = 3;
CString ch1 = CString(str1.GetAt(index));
CString ch2 = CString(str2.GetAt(index));用strcmp把ch1,ch2字符串跟数字字符串比较。