2017-06-22 4 views
1

私は結果を得ることができない非常に基本的なCプログラムを持っています。私はフォートランの世界から来ています。ここでは、数字の切り詰めがまっすぐであり、その言語は不可解です。私は多くのCチュートリアルを終えました。文字列ではなく、数値データを処理する処理は非常に包括的ではありません。私は、3つの例のデータセット(整数、浮動小数点数、3つの変数を持つ浮動小数点数のセット)でプログラムを試しましたが、残念ながらデータを添付することはできません。 私の試行データでは、最初のファイル(整数)は1行あたり10行の単一の整数値を持ち、ファイル2は1行に1つの浮動小数点値の10の値を持ち、ファイル3には約3000行の緯度、経度、ヘッダと行、。Cで数値を読み取るにはどうすればよいですか?

プログラムをコンパイルして実行されますが、私に結果を与えるものではありません。 私は助けいただければ幸いです

#include <stdio.h> 

void main() 
{ 
FILE *f; 
char buff[1000],infile[16]="h900_28Mar09.txt"; 

f=fopen("infile","r"); 
fgets(buff, 26, (FILE*)f); 
printf("%s\n", buff); 

while (fgets(buff, 35, (FILE*)f)!=NULL) 
{ 
    printf("%s\n",buff); 
} 
fclose(f); 
} 

[ここにリンクの説明を入力] [4]

+1

入力ファイルの一部をご提示ください。おそらく 'fscanf'が必要です。私はあなたが良い本やチュートリアルからCを学び始め、まず基本的なことを学ぶことをお勧めします。 –

+2

どこでも '(FILE *)f'を使う必要はありません。これは変数の型です。キャストする必要はありません。 – Barmar

+1

あなたのプログラムの予想される出力を教えてください。 –

答えて

2

をあなたはおそらくこの欲しかっ:このプログラムは、単にファイルh900_28Mar09.txtを開き、読み込み、行ごとに表示

#include <stdio.h> 

int main() 
{ 
    FILE *f; 
    char buff[1000]; 

    f=fopen("h900_28Mar09.txt", "r"); 

    if (f == NULL) 
    { 
    printf("Can't open file\n"); 
    return 1; 
    } 

    while (fgets(buff, 35, f) != NULL) 
    { 
    printf("%s\n",buff); 
    } 

    fclose(f); 
} 

を。

代替方法:

... 
char buff[1000], infile[] = "h900_28Mar09.txt"; 

f = fopen(infile,"r"); 
... 
+0

ありがとうございました@ Michael Walz、あなたは私の問題を解決しました。それはまさに私がやりたかったことです。他のコメントもありがとうございます。あなたの時間と努力と知識共有の精神に感謝します。 –

+1

@ ZiloreMumba--どのような落胆コメント? –

関連する問題