我需要编写程序来检查标准输入中的每个单独的字符,看看它是否是 ASCII 字符。我知道它需要检查的是第 8 位(代码中的第 7 位,如果我没记错的话)是否为 0,因为 ASCII 只使用 7 位,但我很难弄清楚如何准确地让它检查具体位。这就是我在撰写本文时所拥有的。
#include <stdio.h>
#define MASK 7
int main(void)
{
auto char inChar;
do
{
inChar = getchar();
// Breaks the do-while loop if it detects End of File
if (inChar == EOF)
{
break;
}
printf("%c", inChar);
if ( inChar == (0 & MASK))
{
printf("Not an ASCII Character.\n");
}
}while(1);
puts("\n");
return 0;
}
我知道我还没有正确实现编码器来检查每个字符值,但稍后我会担心这一点。现在我只需要帮助让它检查变量中的特定位。
另外,这是我第一次在这里提问,所以请原谅我的问题格式不正确。
From ctype.h http://www.opensource.apple.com/source/Libc/Libc-262/include/ctype.h:
#define isascii(c) ((c & ~0x7F) == 0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)