dポイントプレゼントキャンペーン実施中!

fgets関数とscanfの意味が似ていると思うんですが、違いは何ですか?
例えば、fgets( str, 81, stdin ) は変数strに80文字制限で、標準入力から入力するという意味ですよね?
scanf("%s",s)は変数sに文字列を入力するという意味ですよね?
意味が似てると思うんですが、実際は何が違うんでしょうか?
回答よろしくお願いします。

A 回答 (1件)

結果的にはほぼ同じ。



しかし、fgets関数の最後の引数にスタンダードインを使った時だけ同じ結果になるのであって、全て同じではない。

最後の引数に物理ファイルを指定することも可能(と言うかそっちが本来の使い方)だが、scanfは標準入力からの取り込みという前提がある。

最大の違いは、書式に従った入力『scanf("%s",s)は、変数sに文字列として入力する』をする。
%sを%dにすれば、値として入力する。


この様に、引数の使い方次第で結果的に同じになる関数は他にも沢山ある。

この回答への補足

最後の引数に物理ファイルを指定するってどういう意味ですか?

補足日時:2011/06/18 17:34
    • good
    • 0

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