
stdio.h は、標準的な入出力を行う場合に必要なバッファなどが定義されているファイルです。という文章で、などがついていますが、バッファ以外に何が定義されているのでしょうか? 教えていただけると嬉しいです。先生に聞いてみると、「stdio.hはファイルです。だけで良いのでは?」と聞くと、それでは、箱に(インクルード)に牛乳を入れてください。と言われて、流れてくるものは、パンやオレンジジュースなどが流れてきて、オレンジジュースを入れて納品したら、おかしなことになるよね?と言われて、だから、標準的な入出力を行う場合に必要なバッファというのが必要なんだよという意味がよく分かりません。後、バッファは、例えば、アンケート入力で、アンケートー1とするのがアンケートー1の領域になるよ。と言われました。どうも2つの話が繋がりません。教えていただけると嬉しいです。意味不明ですみません
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
ヘッダー <stdio.h> にはいくつかのマクロが定義されており、入出力を行うための3つの型と多くの関数が宣言されています。
入出力の関数を使用するためには、ヘッダー stdio.h をインクルードする。
https://ja.wikibooks.org/wiki/C%E8%A8%80%E8%AA%9 …
マクロ、入出力を行うための3つの型、多くの関数、とある。
いろいろな関数が、スタジオ・スタンドで箱売している、そんなのかもしれないですね。
つまり、標準的な入出力(例えばprintf) を行う場合に、必要なバッファ(printfなどの関数)などが定義されているファイルです。ということで、つまり例え話で、独自で思ったのですが、映画館でたくさんの席があります。で、私(これをprintf)で、どこの席(これがバッファ)で、座る(これがprintfののバッファ)。という事でしょうか?教えていただけると嬉しいです。すみません。意味不明ですよね。だけど、ふとそう思ったのです。
No.5
- 回答日時:
>標準入出力の関数定義がメインでしょう。
ちょっと修正。定義じゃなくて宣言ですね。
関数本体(ロジック)はマクロ以外はヘッダには入ってなくて
ライブラリからリンクされます。
つまり、標準的な入出力(例えばprintf) を行う場合に、必要なバッファ(printfなどの関数)などが定義されているファイルです。ということで、つまり例え話で、独自で思ったのですが、映画館でたくさんの席があります。で、私(これをprintf)で、どこの席(これがバッファ)で、座る(これがprintfののバッファ)。という事でしょうか?教えていただけると嬉しいです。すみません。意味不明ですよね。だけど、ふとそう思ったのです。
No.4
- 回答日時:
>などがついていますが・・・
などとはスクリーンにバッファーの内容を出力したり
キーボードのコードをバッファーに読み込むマクロ
(小さなプログラム)が入っています。
No.3
- 回答日時:
質問が散漫なんで、何を聞きたいのかわかりにくい。
①stdio.h に何が入っているかというと、もちろん
標準入出力の関数定義がメインでしょう。
標準入出力は多くの場合バッファを使ってI/O するから
バッファを作るための定数やロジックなども入っている。
②「箱に(インクルード)に牛乳を入れてください。と言われて、流れてくるものは、パンやオレンジジュースなどが流れてきて、オレンジジュースを入れて納品したら、おかしなことになるよね?」
全く意味不明。何がいいたいのかわからない。
I/O というのは小さなデータに対して行うと
効率が悪い(遅い)ことが多い。
デバイスとの入出力はある程度まとまった大きさのデータで
行うのが効率がいい。しかし、文字列処理とか
データを小さなデータ単位で処理したいことが
よくある。その間を取り持つのがバッファドI/O
データをまとめてメモリに読んだ後、
適当なデータ単位に切り分けて読んでくれたり、
小さいな単位のデータの書き込みをメモリにいったん貯めて
適当な時期に一挙にデバイスに書き込んだりする。
No.2
- 回答日時:
C言語って、分かるまで、ちょっと大変な部分がありますね。
私の場合、昔、某市販ソフトのプロテクト破りのために、アセンブラを理解する必要があって、アセンブラをそれなりに理解したら、C言語がそれなりに分かるようになった覚えがあります。
C言語は「高級アセンブラ」と呼ばれることもありますから、一度、アセンブラを勉強してみるのもいいと思います。
ちなみに、バッファは単純にデータの入れ物と思えばいいのでは?
道端に座って、お金をめぐんでもらうとき、空き缶などの入れ物がないとダメですよね?それと同じ。
なお、C言語の勉強には、「エキスパートCプログラミングー知られざるCの深層/ASCII」がお勧めかも?ただ、初心者にはちょっと難解かも?
No.1
- 回答日時:
バッファというより、BUFSIZというマクロが定義されているが正解です。
NULLやEOFなんかもよく使うと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
電子書籍プレゼントキャンペーン!
最大2万円超分当たる!マンガや小説が読める電子書籍サービス『Renta!』で利用できるギフトコードプレゼント実施中!
-
C言語について。
C言語・C++・C#
-
C言語について
C言語・C++・C#
-
C言語について。
C言語・C++・C#
-
4
C言語について。
C言語・C++・C#
-
5
c言語でユーザ関数を利用して複素数のべき乗と絶対値の数列を計算するプログラムが作りたいです。
C言語・C++・C#
-
6
ファイルがあるのにエクスプローラでは存在しない
C言語・C++・C#
-
7
C言語 コマンドプロンプトについて。
C言語・C++・C#
-
8
C言語です このプログラムに自分で定義した関数を入れたいです! アドバイスください!
C言語・C++・C#
-
9
S-JIS → JIS コード変換するには
C言語・C++・C#
-
10
C言語について。
C言語・C++・C#
-
11
c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。
C言語・C++・C#
-
12
c言語について array[i]-‘0’ これってどーゆー意味ですか? (ちなみに16進数を10進数
C言語・C++・C#
-
13
win10で、正確な待ち時間の作り方
C言語・C++・C#
-
14
C言語初心者です、、、お助けください
C言語・C++・C#
-
15
プログラミング c言語
C言語・C++・C#
-
16
[C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について
C言語・C++・C#
-
17
最近の流行りのプログラム言語はC++と比較すると
C言語・C++・C#
-
18
c言語の問題です
C言語・C++・C#
-
19
現在プログラムを作っているのですが、実行したときに写真のように結果が表示されるのですが、これを CH
C言語・C++・C#
-
20
プログラムが書けません。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
テキストファイルの最終行を削...
-
5
fopenできる上限の変更
-
6
Access2010の最適化設定について
-
7
CSVファイルへの保存の際、デー...
-
8
ドラッグアンドドロップでファ...
-
9
ファイル名の先頭にアンダース...
-
10
iniファイルについて
-
11
csvファイルを開かずに文字を検...
-
12
C言語初心者の質問失礼します。
-
13
WAVファイル同士の結合が可...
-
14
グローバル変数のよくない使い...
-
15
VBAにてEXCEL以外のファイル(テ...
-
16
アプリケーション終了時例外エ...
-
17
同じ名前のファイルを作った場...
-
18
バッチで118項目のCSVを処理し...
-
19
C言語のfopenについて教えてく...
-
20
COM相互運用機能のON,OFFによる...
おすすめ情報
公式facebook
公式twitter