• ベストアンサー

fscanfでC言語の空欄を読んだ場合の値は?

csvファイルをfscanf関数で読み込み、値の入っている行数を把握したいと考えています。 値が入っていない空欄の値をfscanfで読んだ場合、値は何となるのでしょうか? NULLと考えて問題ないのでしょうか?

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.3

fscanfでどういう書式指定文字列を与えたかにもよるでしょうが、マッチしない変数へは何も代入されません。つまり、fscanfを呼ぶ前と同じ値が保たれます。 また、scanf,fscanf,sscanfはかならず返値の値をチェックする必要があるということを理解されてますか? あと、初心者はscanfとかfscanfは使わない方が良いですよ。どうしてもscanf系を使いたいなら、1行ずつfgetsして、それに対してsscanfを。

saterain20
質問者

お礼

ありがとうございました。

その他の回答 (3)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

本題ではないけど, 「1行ずつfgetsして sscanf」も「初心者」にはそんなに簡単じゃない気がする>#3. 閑話休題. 「空欄」によっては「『空欄』を無視」という動作も考えられるなぁ....

saterain20
質問者

お礼

ありがとうございました。

  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.2

>値の入っている行数を把握したい 行数で本当に間違いないですか?

saterain20
質問者

お礼

返事遅くなりました。 すみません。 行数です。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

具体的にどのように fscanf を使ってどのようなデータを読もうとしているかがわからんとなんともいえんけど.... 「空欄が許される」ならそれなり, 許されないなら「前のまま」だと思う. NULL は意味不明.

saterain20
質問者

お礼

ありがとうございました。

関連するQ&A