- ベストアンサー
ファイルからの読み込み
ファイルから文字を読み込むプログラミングについての質問です。 ファイルから文字を読み込んで出力したいのですが、ファイルの中身が 1 2 3 a c 3 5 6 ・・・ 1 4 y c d 4 のような感じになっています。各文字と文字の間はスペースで区切られており、2行目の文字はどこまで続くか分かりません。 この場合fscanf,fget関数を使ってファイルを読み込む時どのようなプログラムにしたら良いのでしょうか? 分かりづらい質問ですいません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#119918
回答No.2
やりたいことがよく見えないのですが、単にファイルから読んで出力するだけならば、下記のコードで実現できます。 読んで出力するだけで無く、何らかの加工を施したいというのであれば、 その内容を書いて頂くとお手伝いできるかもしれません。 #include <stdio.h> int main(int argc , char* argv[]) { FILE* fp = fopen(argv[1] , "r"); // 第1引数で指定したファイルを読み込み int c; while((c = fgetc(fp)) != EOF) { putchar(c); } return 0; }
その他の回答 (1)
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.1
2行目の文字数がわからないので、配列を使おうとしても 要素数を決められないですね。 fgetc関数で1文字ずつ読み、 ・行の先頭文字だったらmalloc関数で確保した領域に保存する ・先頭文字以外だったらrealloc関数で拡張した領域に保存する という作戦はいかがでしょうか。