0

次のように、カンマ区切りの数値でファイルに整数の配列を作成する関数を作成したいと思います。

         1, 54520.00000, 86397.00000, 0
         2, 54440.00000, 87200.00000, 0
         3, 51280.00000, 97600.00000, 0
         4, 50000.00000, 100000.00000, 0
         5、48880.00000、100000.00000、0

最初の列は各行の番号なので、実際に必要なデータは次の 3 つの列です。
私の問題は次のとおりです。

  1. 配列の次元がわからないので、最初に最後の行の最初の数字を読み取る必要があります。どうやってするか?fseek を使用してファイル ポインターをファイルの末尾にポイントし、前の '\n' を見つけようとしましたが、カンマの処理方法がわかりません。
  2. 行数を取得した後、必要なデータを N_row*3 配列に読み込むにはどうすればよいですか? コンマと '\n' の扱い方

事前にご協力いただきありがとうございます。

4

1 に答える 1

0

あなたが使用することができますfscanf()

fscanf()ファイルの最後に到達するまで、次をループに使用します。

int i,j
double x,y;
while (fscanf(fp, " %d , %f , %f , %d", &i, &x, &y, &j) != EOF) {....}
于 2013-01-30T16:37:26.980 に答える