我正在尝试使用cin.get()
读取单个扩展ASCII字符。我想使用cin.get()
,这样我就可以读取输入中的空格等。我发现我需要使用无符号的字符来存储字符,但无符号的字符和cin.get()
似乎并不一起工作。有没有办法做到这一点?使用cin.get()读取扩展ASCII
基本上,我一直在试图做这样的事情:
unsigned char c;
while (cin.get(c))
{
//do stuff with c
....
}
我正在尝试使用cin.get()
读取单个扩展ASCII字符。我想使用cin.get()
,这样我就可以读取输入中的空格等。我发现我需要使用无符号的字符来存储字符,但无符号的字符和cin.get()
似乎并不一起工作。有没有办法做到这一点?使用cin.get()读取扩展ASCII
基本上,我一直在试图做这样的事情:
unsigned char c;
while (cin.get(c))
{
//do stuff with c
....
}
有没有办法做到这一点?
试试这个
unsigned char c;
while ((c = cin.get()) != EOF)
{
//do some stuff
}
您可以尝试一两件事来读取255个ASCII字符:
int ch;
unsigned char c;
while ((ch = cin.get()) != EOF)
{
c = (unsigned char)(ch);
// do some stuff
}
感谢您的建议,但它只是循环 – mcallinder
@Mark你必须根据你的系统'ctrl + Z'在windows上使用EOF(我不太确定它)在寻找它净。否则,只是检查它的工作原理,你可以使用''\ n''或任何其他字符而不是EOF – 0decimal0
谢谢,第二个例子工作正常! – mcallinder
你不需要申报C作为'为了无符号char'因为你能够使用ascii代码0..255 –