• ベストアンサー

C言語について。

stdio.hは、標準的な入出力を行う場合に必要なバッファなどが定義されているファイルです。という文章で、などがついていますが、バッファ以外に何かするのでしょうか?stdio.h以外のファイルがある事でしょうか?教えていただけると嬉しいです。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5320/13882)
回答No.29

> では、最初の質問文のバッファなどの「など」は、結局何なのでしょうか? 以前の回答でも書いている通り、stdio.h には50個ほどの関数や十数個の定数が定義されていて、入出力バッファに関わる定義以外にも多数あるから「など」と説明されているのだと思われます。

すると、全ての回答が全文表示されます。

その他の回答 (28)

  • t_ohta
  • ベストアンサー率38% (5320/13882)
回答No.8

> ダイレクトI/Oは、インプットとアウトプットを直接するという事でしょうか? そうです、バッファを経由せずにI/Oポートの信号を直接読み取るという事です。 > 後、ここでいう「など」は、条件によって異なるという事でしょうか? そうです。 > ファイルアクセスが、含まれる場合と含まれない場合を箇条書きでも良いので教えていただけると嬉しいです。 一般的なOSならファイルアクセスはバッファ経由となります。 OSを介さない組込系システムでリアルタイム性の低いシステムなら直接ドライブを制御する事があるかと思いますが、リアルタイム性を優先すすりシステムならドライブの処理時間が問題になるのでバッファ経由にすると思います。 私はWindowsとかUNIXベースのシステムしか扱わないので組込系はそこまで詳しくないので、詳しく知りたければネットで検索してみて下さい。今の時代、ネット検索をすればプログラミングに関する情報は簡単に見つかりますよ。

zasx1097
質問者

補足

No.7の異なる条件下というのは、どういう事でしょうか?教えていただけると嬉しいです。

すると、全ての回答が全文表示されます。
  • t_ohta
  • ベストアンサー率38% (5320/13882)
回答No.7

> バッファなどのなどは、別の例では、ファイルアクセスもそうですよ。ということでしょうか?教えていただけると嬉しいです。 コンピュータにはバッファと呼ばれるモノが多数存在します。 しかもCPUの種類やOSの種類によってもバッファの種類が異なります。 ある条件下(CPUとOSの組合せ)ではダイレクトI/Oになり、異なる条件下ではバッファ経由でのアクセスになります。 なので「など」は条件によって内容が変わるモノなので、条件によってはファイルアクセスが含まれることもあれば含まれないこともあります。 質問者さんが何を目的に勉強されているのか判りませんが、一般論について調べられているのであれば非常に幅のある答えになりますし、特定のCPUやOSをターゲットにした開発について勉強されているのであれば、その開発ターゲットが判らなければ詳細な答えは出ません。

zasx1097
質問者

補足

ダイレクトI/Oは、インプットとアウトプットを直接するという事でしょうか?後、ここでいう「など」は、条件によって異なるという事でしょうか?ファイルアクセスが、含まれる場合と含まれない場合を箇条書きでも良いので教えていただけると嬉しいです。

すると、全ての回答が全文表示されます。
  • t_ohta
  • ベストアンサー率38% (5320/13882)
回答No.6

> 入出力バッファというのは、あなた様の書いたファイルの読み書きと標準入出力以外の機能の事でしょうか?教えていただけると嬉しいです。 質問者さんの言うバッファが何のバッファか定義が曖昧なのですが、対象となるOSによっては、ファイルの読み書きもファイルシステムのバッファにアクセスする仕組みになっていますし、キーボードからの入力もキーバッファにアクセスする仕組みになります。 なのでファイルアクセスも標準入出力も入出力バッファへのアクセスと言えます。 これはターゲットCPUやOSによるとしか言えません。

zasx1097
質問者

補足

バッファなどのなどは、別の例では、ファイルアクセスもそうですよ。ということでしょうか?教えていただけると嬉しいです。

すると、全ての回答が全文表示されます。
  • t_ohta
  • ベストアンサー率38% (5320/13882)
回答No.5

> 入出力バッファに関わる定義以外に何があるのでしょうか?教えていただけると嬉しいです。 最初の回答に書いた通り、ファイルの読み書きや画面(標準出力)への表示やキーボード(標準入力)からの入力などです。 一般的には ・ファイルに対する操作 ・ファイルアクセス ・ファイル位置操作 ・文字入出力 ・書式付き入出力 ・直接入出力 ・エラー処理 ですが、コンパイラが対象とするCPUやOSによっては多少機能の有無に違いがあります。 このあたりの情報は「C言語 標準ライブラリ」で検索するとすぐに見つかりますよ。

すると、全ての回答が全文表示されます。
  • t_ohta
  • ベストアンサー率38% (5320/13882)
回答No.4

> いいえ。私の投稿した質問文の「など」のことについてです。 「バッファなど」の「など」について聞かれているのでしょうか。 先の回答に書いた通り、stdio.h には50個ほどの関数や十数個の定数が定義されていて、入出力バッファに関わる定義以外にも多数あるから「など」と説明されているのだと思われます。

zasx1097
質問者

お礼

入出力バッファというのは、あなた様の書いたファイルの読み書きと標準入出力以外の機能の事でしょうか?教えていただけると嬉しいです。

zasx1097
質問者

補足

入出力バッファに関わる定義以外に何があるのでしょうか?教えていただけると嬉しいです。

すると、全ての回答が全文表示されます。
  • t_ohta
  • ベストアンサー率38% (5320/13882)
回答No.3

> なぜ、「など」がついているのでしょうか?教えていただけると嬉しいです。 私が書いた「キーボード(標準入力)からの入力など」の「など」について聞かれているのでしょうか。 stdio.h には50個ほどの関数や十数個の定数が定義されているので、ファイルの読み書きと標準入出力以外の機能も多数あるから「など」と書きました。

zasx1097
質問者

補足

いいえ。私の投稿した質問文の「など」のことについてです。教えていただけると嬉しいです。すみません。

すると、全ての回答が全文表示されます。
  • t_ohta
  • ベストアンサー率38% (5320/13882)
回答No.2

> stdio.hによって定義されています。というのは、C言語やC ++言語などに限った事でしょうか? #include <stdio.h> の様に宣言しなければいけないのは、CやC++くらいですかね。 他のコンパイル型言語でも標準ライブラリは別ファイルに分かれているのは一般的だと思いますが、イチイチ宣言しなくても勝手に読み込んでくれるだけです。 CPUの違いやOSの違い、H/W構成の違いで printf("Hello World"); を内部的にどう処理するかは大きく違うので、その違いをそれぞれ吸収するためには環境に合わせたライブラリファイルがないといけませんからね。

zasx1097
質問者

補足

なぜ、「など」がついているのでしょうか?教えていただけると嬉しいです。すみません。

すると、全ての回答が全文表示されます。
  • t_ohta
  • ベストアンサー率38% (5320/13882)
回答No.1

ファイルの読み書きや画面(標準出力)への表示やキーボード(標準入力)からの入力などもstdio.hによって定義されています。 C言語の標準ライブラリは30種類ほど用意されていますよ。 「C言語 標準ライブラリ」で検索すると沢山情報が見つかるでしょう。

zasx1097
質問者

補足

では、バッファ(領域)の他に、ファイルの読み書きや画面(標準出力)への表示やキーボード(標準入力)からの入力なども、stdio.hによって定義されています。というのは、C言語やC ++言語などに限った事でしょうか?教えていただけると嬉しいです。

すると、全ての回答が全文表示されます。

関連するQ&A