2016-12-06 39 views
1

は、私は、文字によって文字、それが一定の値であるかどうかをチェックし、ファイル全体が読み込まれるまで継続し、変数に文字を格納し、ファイルを読み込むしようとしています。ここでファイルからの読み込みとチェック個々の文字

は、私がこれまでに得ているコードです:

文字が(49 ASCII値)であるが、プログラムは次のように出力場合、私は、私はインクリメントする変数をしたい:0000000000.

+0

あなたはint型のx = 0を意味しました。またはint i = 0;? iを0に初期化するか、iをxに変更する必要があります。 – mba12

+0

申し訳ありませんが、私はprintステートメントに間違った変数を書きました。私は正しい変数を含めるように投稿を更新しました。それはまだ私が意図したものではありませんが、0000000000を出力しています。 – Chrome123

答えて

0

あなたはあなたのカウンター変数を初期化する必要があります。

FILE * fp; 
fp = fopen("doc.txt", "r"); 
int i = 0; /* switch x to i */ 

while (!feof(fp)) { 

    int fc = fgetc(fp); 

    if (fc == 49) { 
    i++; 
    } 
} 
printf("%d", i); 
+0

@ Chrome123まだxをi ++でインクリメントしていますが、最後にxを印刷しています。 xまたはiのいずれかを選択し、その変数をコード全体で一貫して使用します。 – mba12

+0

@ Chrome123また、print文をwhileループの外に移動すると、ファイルの読み込みが完了するまで出力されません。入力ファイルにはいくつの文字がありますか。そのエラーが与えられたファイルの文字数と一致する出力が見られるはずです。 – mba12

+0

@ Chrome123お気軽にお問い合わせください。 – mba12

関連する問題