至急

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
しゅう

至急

#1

投稿記事 by しゅう » 18年前

課題4
キーボードからファイル名を読み込み、そのファイルの中の行数(改行文字の個数)をカウントして画面に表示するプログラムを作成したいんですけど、よくわからないのでプログラム考えてもらえますか?

あとファイルを読み込むってどーゆうことですか?
そのファイルに何を書き込めばいいのですか?

お願いします。

バグ

Re:至急

#2

投稿記事 by バグ » 18年前

①ファイルをオープンする
②1文字ずつ文字を読み込む
③読み込んだ文字が改行文字だったら、カウント用の変数をインクリメントする
④ファイルの終端だったら、カウントを画面に表示する。そうでなければ②に戻る
⑤ファイルをクローズする

最初の質問のプログラムの流れはこんな感じです。
ファイルを読み込むとは、ファイルの中に書かれているデータを取り出すという意味です。
今回は改行文字の個数をカウントするだけですから、ファイルへ書き込む必要はありません。

質問は以上ですね?頑張って下さい(^-^)

Lbfuvab

Re:至急

#3

投稿記事 by Lbfuvab » 18年前

ファイル読み書きは
FILE型のポインタを使います。(猫Cでも見てください
行数はあなた自身が言われたように改行文字の個数をカウントして下さい。

Lbfuvab

Re:至急

#4

投稿記事 by Lbfuvab » 18年前

かぶってしまいすいませんでした。

しゅう

Re:至急

#5

投稿記事 by しゅう » 18年前

カキありがとうございます。
できたら簡単なプログラム考えてもらえると助かります。><

バグ

Re:至急

#6

投稿記事 by バグ » 18年前

簡単なプログラムとは何ですか?具体的に何が分かりませんか?
全く分からないというのは無しでお願いします。

しゅう

Re:至急

#7

投稿記事 by しゅう » 18年前

ある程度参考書を読んでわかったのですが、行数をカウントするにはどのようなプログラムになるのかがわかりません。

バグ

Re:至急

#8

投稿記事 by バグ » 18年前

printf関数は分かりますよね?
この関数で改行をさせたい時に何を使うかは分かりますか?

ファイルから読み込んだ文字がその改行文字であるかどうかをif文を使って判断して、改行文字ならばカウントを1つ増やせばいいのです。

後は、この説明をC言語に書き換えるだけですよ♪(^-^)

しゅう

Re:至急

#9

投稿記事 by しゅう » 18年前

ありがとうございます。やってみます。

やそ

Re:至急

#10

投稿記事 by やそ » 18年前

あとはデータの構造次第でしょうか?
1行(1レコード)の最大文字数は(可変?固定?)
データ内にスペースは存在するか?
レコードの終端文字は復改(CRLF)?
ファイルの終端は?

一文字づつ読み込むのもよし、1行いっぺんに読むのもよし。
1レコードの区切り文字が見つかったらカウントすれば出来るはずです。

標準入出力関数を良く調べてみましょう。
きっとやりたいことが実現できそうな関数があるはずです。

box

Re:至急

#11

投稿記事 by box » 18年前

> あとはデータの構造次第でしょうか?
> 1行(1レコード)の最大文字数は(可変?固定?)
> データ内にスペースは存在するか?

取り扱うファイルはおそらくテキストで、
単に改行文字の数を勘定すればよいだけですから、
ファイルの中身には全く依存しないです。

各行の何バイト目に改行文字を含んでいても、
データの中に空白があってもなくても、
今回のプログラムの仕様には影響しません。

やそ

Re:至急

#12

投稿記事 by やそ » 18年前

回答者はみんな分かっていると思います。
が、やりとりを拝見するとしゅうさんはファイルを読み込む為の関数を理解していないのではないかと思います。
バグさんが提示した
①ファイルをオープンする
②1文字ずつ文字を読み込む
③読み込んだ文字が改行文字だったら、カウント用の変数をインクリメントする
④ファイルの終端だったら、カウントを画面に表示する。そうでなければ②に戻る
⑤ファイルをクローズする

をC言語でイメージできていないのではないでしょうか?
お勉強のために、いろんな入出力関数があることを知ってもらい、その上で今回の要件にマッチする関数が見つけられれば良いなと思い、書かせていただいた次第です。
いろんな関数を試してガッテンしてちょうだい^^

添付されていたPDFファイルはあまり役に立ってないねぇ^^;

バグ

Re:至急

#13

投稿記事 by バグ » 18年前

>>添付されていたPDFファイルはあまり役に立ってないねぇ^^;

これは私も思いました。『テキストってどこ?』と思わず探してしまいました(苦笑)

chip

Re:至急

#14

投稿記事 by chip » 18年前

fopenとかfclose,fscanfあたりを中心にあれこれ調べればいいですよ。

ネット上にいくらでも解説サイトがありますので、参考書がややこしそうであれば、
解説サイトをいくつか回って調べるといいと思います。

はっきりいって、サンプルプログラムを示すほどの課題ではありません。
①ファイル開いて、②読み込んで、③行数をカウントする
これだけです。

閉鎖

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