ページ 11

テキストファイルの読み取り

Posted: 2010年7月09日(金) 08:08
by mint
初心者なので、ご教授願います。

テキストファイルをfscanfを用いて読み取り、そのあとに配列として記録したいのですが、
例えばテキストファイルが

1 0 0 1 1
・・・
1 1 1 1 0

と、各行5列くらいなら、fscanf(fp,"%d %d %d %d %d",&a,&b,&c,&d,&e)などとすればいいと思うのですが、
扱いたいテキストファイルが

1 0 0 ..........1 1
・・・
0 0 1 ..........1 1

と、各行400列くらいあります。

このような場合、どうしたらよいのですか?よろしくお願いします。

Re:テキストファイルの読み取り

Posted: 2010年7月09日(金) 08:24
by バグ
「どうしたらよいのか」と問われても、「どうしたいのか」を書いていただかないと…(^_^;)

Re:テキストファイルの読み取り

Posted: 2010年7月09日(金) 09:11
by 白い時空
scanf系の関数にはスペースを入力の終了とする(改行と同じように扱う)特徴があります。
ですから、
int data[5];

fscanf(fp,"%d %d %d %d %d",&data[0],&data[1],&data[2],&data[3],&data[4]);
int i;
int data[5];

for(i=0;i<5;i++){
    fscanf(fp,"%d",&data);
}

の二つは同じになります。後者を使えば400列でもできますね。

Re:テキストファイルの読み取り

Posted: 2010年7月09日(金) 09:17
by mint
>白い時空さん

ありがとうございます!!
ほんとに助かりました!!

Re:テキストファイルの読み取り

Posted: 2010年7月09日(金) 09:18
by mint
解決しました。
ありがとうございました!