ファイルのことで教えてください

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
j-back
記事: 4
登録日時: 6年前

ファイルのことで教えてください

#1

投稿記事 by j-back » 6年前

http://masudahp.web.fc2.com/cl/ren1/cren8.html
の問題8-12の解答が↓になるんですが、char nam[256];と宣言しているのはなぜですか?

コード:

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
        FILE *fp1;
        char nam[256];
        int jj;
        float mm;

        if((fp1 = fopen("jinkou.txt", "r")) == NULL){
                printf("ファイルがオープンできません\n");
                exit(1);
        }

        while(fscanf(fp1, "%s", nam) != -1){
                fscanf(fp1, "%d", &jj);
                fscanf(fp1, "%f", &mm);
                printf("%10s%10d人%10.2fKm2\n", nam, jj, mm);
        }

        fclose(fp1);
        return;
}

アバター
usao
記事: 1573
登録日時: 6年前

Re: ファイルのことで教えてください

#2

投稿記事 by usao » 6年前

256という値じゃないとダメとかいうことではなく
単に,「データファイルから読み込む文字列の長さを格納するのに十分な長さの配列を用意する」
程度の意味しかないでしょう.
つまり,
 ファイルから読み込む都道府県名項目の長さ << 256
という想定をしている,というだけのことだと思います.
(もしこの部分が問題にて穴埋め箇所になっているとしたら,問題文にてその旨を規定すべきでしょうが,
 今回は穴埋め部分ではないから特筆しなかったのでしょう)

j-back
記事: 4
登録日時: 6年前

Re: ファイルのことで教えてください

#3

投稿記事 by j-back » 6年前

ありがとうございます。
あと、このプログラムは実行すると愛知県~和歌山県とテキストに書かれている順に表示していますが、これをランダムに表示するようにしたいです。
乱数を使おうとおもっているのですが、乱数以外に必要な知識はありますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: ファイルのことで教えてください

#4

投稿記事 by softya(ソフト屋) » 6年前

j-back さんが書きました:ありがとうございます。
あと、このプログラムは実行すると愛知県~和歌山県とテキストに書かれている順に表示していますが、これをランダムに表示するようにしたいです。
乱数を使おうとおもっているのですが、乱数以外に必要な知識はありますか?
実際に組んでみないと実感がわかないと思うので、まず挑戦してみて下さい。
その上で疑問が出てきたら質問して下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る