電子書籍の厳選無料作品が豊富!

C言語の質問です。
100人のあるデータをファイルから読み込んで並べ替えるプログラムを作りたいのですが、どのようにしてファイルから読み込ませればいいでしょうか。100人のデータは2次元配列です。

A 回答 (4件)

質問が漠然としずぎています。


テキストファイルなのかCSVファイルなのか、、、

入力用のファイルを test.txt だとすると。

// 以下コード
FILE *fp;

if ((fp = fopen("test.txt", "r")) == NULL) {
printf("error\n");
return 1;
}

while (fgets(str, 256, fp) != NULL) {}

fclose(fp);


ファイルの詳しいフォーマットが分からないので、具体的なコードを示すことができません。
具体的な回答が欲しいなら、具体的な質問をしてください。

行数は文頭で指定しているのかそうでないのか。
列数は固定なのかどうなのか。
例えば「文字列 数字 数字」なら、
fscanf(fp, "%s %d %d", str, &num1, &num2);
みたいになるでしょう。
    • good
    • 0

リードモードでオープンしろ

    • good
    • 0

C言語の教科書はお持ちですか?


またはC言語の解説をしているWebサイトをご存知ですか?

それらで「ファイル操作」とか「ファイル入出力」といった項目を参照されるとわかります。
ちなみに「100人のデータは2次元配列です」とありますが、それはプログラム内部でのお話でファイルとしてははテキストファイルではありませんか?
1人分のデータが1レコード(1行)になっていて100人分だと100レコードあるとか。。。

蛇足ですが、教科書を未入手でかつ解説サイトも未チェックということでしたらGoogleなどで「C言語 ファイル入出力」といった簡単なキーワードで検索してみましょう。
C言語の解説サイトなどの該当ページがヒットするはずです。たくさん。。。

でもってこれまた蛇足で念のためですが、作成したいプログラムの処理手順は日本語での箇条書きやチャート図を使ってまとまっているのですよね?
ようは設計は出来ていてあとは使用言語と決めたC言語を使ってプログラムソースを書くだけになっていると。。。
そうではないのでしたらまずはしっかり設計をしましょう。

参考まで。
    • good
    • 1

>どのようにしてファイルから読み込ませればいいでしょうか


ファイルを開いて読み込ませればいいと思います
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!