今日は、getchar()
を使用して入力した文字をカウントする簡単なコードを書いています。しかしCygwinでコンパイルするとうまくいきません。常に0を出力しますが、何も入力しないか0を出力する文字は入力できません。getchar()が正しく機能しないのはなぜですか?
しかし、VC++ 6.0でコンパイルすると動作します。
#include<stdio.h>
int main(void)
{
long nc;
nc = 0;
while(getchar() != EOF)
++nc;
printf("The total of characters you inputed is %ld.\n", nc);
return 0;
}
Cygwinで何をコンパイルするのですか?私はcygwinを持っており、VCを使ってコンパイルするとうまくいきます。 – hmjd
あなたの正確なコードは、Cygwin(GCCでコンパイル)で私にとって完璧に動作します。 EOFを送信するには、control-Dを押す必要があります。 –
*正確に*プログラムを実行していますか? 'echo hello |を実行するとどうなりますか? 。/ your_program'をCygwinのbashシェルプロンプトから起動しますか? '。/ your_program'と打ち込んだら、' hello'、Enter、Control-Dのどれを入力すればいいでしょうか? –