stdinからの個々の文字がASCII文字かどうかを確認するプログラムを作成する必要があります。私はチェックする必要があることを知っているのは、ASCIIが7ビットしか使用していないので、8番目のビット(コードでは7番目が正しく覚えていれば)は0ですが、特定のビット。これは私が執筆の時点で持っているものです。C言語でBitmasksとBit Operatorsを使用してcharがASCIIであるかどうかをチェック
#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;
}
私はコーダが適切にまだすべての文字の値をチェックするために実装されていないことを承知していますが、私は後でそれを心配します。今は変数の特定のビットをチェックするための助けが必要です。
また、これは私の最初の質問ですので、質問の不適切な書式を許してください。
:EOFは 'char'値の外にある可能性があります。 getchar()の戻り値を格納するにはint型を使います。 – jfs