我在读取扩展的ASCII字符并将其转换为十进制值时遇到问题。我试过这样做:
unsigned char temp;
while(temp = cin.get != EOF)
{
cout << (int)temp << endl;
}
然后打印出来的全部是数字1;
答案 0 :(得分:1)
问题在于:
while(temp = cin.get() != EOF)
。
您正在为temp
分配cin.get() != EOF
的真值。在遇到EOF之前,您只会看到1
作为输出。
将其更改为:
while((temp = cin.get()) != EOF)
。
会更贴近你的期望。