• ベストアンサー

リダイレクトと「f」をつける関数について

C言語のファイル入力に関する事の質問です。 勉強していて、リダイレクトとfprintfやfscanfなどの「f」をつける関数の 長所と短所、またその用途を述べろ。という問題がありました。 この二つを使う事によって何かメリットがあるのでしょうか? リダイレクト、「f」をつける関数、どちらも使用するファイルの数がミソのようですが・・・ いまいちしっくりこないです。 どちらも一長一短のような気がして用途を考えるのも難しいです。 リダイレクトと「f」をつける関数、この二つについて詳しく教えてください。

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

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.2

質問者の意図は、 ・入出力の指定をリダイレクトにするか(こちらはprintf等を使用) ・引き数でファイル指定するか(この際にfprintfを使用) という話をしてると推測はできると思うのですが、 それはC言語の問題というよりはコマンドラインでの IF設計の問題ではないでしょうか。 ファイルに限らず他プロセスとパイプを繋ぐのであれば前者で、 複数のファイルを指定するのであれば後者が楽でしょう。 > どちらも一長一短のような気がして用途を考えるのも難しいです。 これは正しいです。 それぞれに短所と長所があり、だからこそ両方の方式を持つ プロセス(場合によって使い分け可)などが存在します。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

「リダイレクト」はシェルの機能で、「f」が付く関数はCのライブラリの話なので、そもそも違うものですから、個別に考えたほうが良いです。 長所/短所を考えるとすると、リダイレクトについては、Unix系のコマンドの単純さや直交性などの話とか。 fの付く関数についてはシステムコールと比較するとか。 # っていうか、長所/短所って、あんまり良い課題設定と思えないけど。