C windows控制台中奇怪的显示EOF字符
最近面临着对EOF字符控制台窗口的有趣解释。在某些运行windows 7的计算机上,codeC windows控制台中奇怪的显示EOF字符,c,console,putchar,C,Console,Putchar,最近面临着对EOF字符控制台窗口的有趣解释。在某些运行windows 7的计算机上,codeputchar(255)&&putchar(-1)显示为空格字符,有些显示为'a'字符。第二个让我困惑。请告诉我,为什么会发生这种情况?EOF的实际值取决于系统(但通常为-1,如在glibc中),并且不等于任何有效字符代码。EOF的实际值取决于系统(但通常为-1,如在glibc中)它不等于任何有效的字符代码。EOF不是字符,它更像是一个信号(而不是Unix信号),表示文件结束。Is值取决于实现,但保证不等
putchar(255)
&&putchar(-1)显示为空格字符,有些显示为'a'
字符。第二个让我困惑。请告诉我,为什么会发生这种情况?EOF的实际值取决于系统(但通常为-1,如在glibc中),并且不等于任何有效字符代码。EOF的实际值取决于系统(但通常为-1,如在glibc中)它不等于任何有效的字符代码。EOF
不是字符,它更像是一个信号(而不是Unix信号),表示文件结束。Is值取决于实现,但保证不等于任何有效字符,通常为-1
使用
putchar(EOF)
或putchar(-1)
时,它将转换为无符号字符
,255
。但是ASCII值255
不是一个可打印的字符,结果在不同的机器中有所不同。EOF
不是一个字符,它更像是一个信号(而不是Unix信号),指示文件结束。Is值取决于实现,但保证不等于任何有效字符,通常为-1
使用
putchar(EOF)
或putchar(-1)
时,它将转换为无符号字符
,255
。但是ASCII值255
不是一个可打印的字符,结果在不同的机器上有所不同。我知道系统依赖于EOF值,但是-1代码的显示取决于windows中的编译器或控制台设置。EOF
的值等于任何字符代码。所以结果可能是世界上任何东西。因此,不严格地说-是的,这可能是由于编译器的实现方式造成的。我知道依赖于系统的EOF值,但是否显示-1代码取决于windows中的编译器或控制台设置?EOF
的值等于任何字符代码。所以结果可能是世界上任何东西。因此,不严格地说,是的,这可能是由于编译器的实现方式造成的。