OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

文字列ファイル表示プログラム

  • すぐに回答を!
  • 質問No.101278
  • 閲覧数77
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 27% (43/159)

Cプログラムの問題なのですが、
「複数の文字からなるファイルを読み込み、全て読み込んだ後に表示するプログラムを作成したいと思います。あらかじめ文字列を配列として宣言するのではなく、文字列の長さを確認した上で、malloc()標準関数でメモリを割り当て、表示しなさい」
文字列を宣言せずに、どうやったらファイルの中の文字列を読み込むことができるのでしょうか?その上、文字列の長さを確認したあとmalloc関数を使うにはどうすればいいのでしょうか。
どなたか教えてください。お願い致します。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

> どうやったらファイルの中の文字列を読み込むことができるのでしょうか?

一文字ずつ読んでゆきます。一行の長さが分かった後に、もう一度、読み直さ
なくてはいけないので、行の頭がどの位置か憶えておく(*)必要があります。

  (*) マニュアルの ftell(), fseek() のあたりを調べてください。

malloc() は、指定したサイズのメモリを割り当てるライブラリ関数です。
マニュアルを読めば分かると思いますが、

  char *buf;
  buf = malloc(必要なサイズ);

です。文字列に必要なサイズに終端の '\0' の分があることに気をつけて。
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル12

ベストアンサー率 67% (310/456)

ファイルがテキストファイル限定なら… ファイルサイズを直に使えばよいのでは? 文字列にするには終端NULL文字が必要な事,ファイルにはEOFがくっついている事をわすれないように。 ファイル読み込みにはread関数を使いましょう。 mallocですが,普通に使えばよいですよ。 ...続きを読む
ファイルがテキストファイル限定なら…

ファイルサイズを直に使えばよいのでは?
文字列にするには終端NULL文字が必要な事,ファイルにはEOFがくっついている事をわすれないように。
ファイル読み込みにはread関数を使いましょう。

mallocですが,普通に使えばよいですよ。


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ