
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語について。 7 2022/11/06 10:02
- C言語・C++・C# C言語について 4 2023/01/08 06:07
- C言語・C++・C# C言語について。 7 2023/01/01 09:58
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- 日本語 複合名詞(造語)について教えて欲しいです 2 2022/05/22 17:14
- IT・エンジニアリング アンバッファの入力規格について教えてください。 発振回路に用いるバッファはアンバッファのものを使うこ 2 2022/05/28 21:40
- その他(業種・職種) 遅刻魔 vs 時間を守る人 3 2022/06/28 21:40
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- その他(健康・美容・ファッション) 入社前健診について 入社前の健康診断受診をお願いされたのですが、この費用を負担してくれる会社は少ない 4 2022/09/01 13:03
- 政治 個人的に、憲法改正案を考えてみました。 意見を聞かせてください。 特に、9条(第2章 - 戦争の放棄 4 2023/02/19 14:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
少人数(約20人)のプロフィー...
-
ファイルの結合
-
MATLAB lsqcurvefitのドキュメ...
-
ハッシュの計算時間について
-
営業秘密の漏洩について
-
phpで複数のファイルのインクル...
-
Thunderbirdでemlファイルを開...
-
テキストファイルの最終行を削...
-
RPGでファイル名(もしくはレコ...
-
ファイルオープンの際のウィン...
-
マスタとファイルの違いって?
-
HTMLファイルをメモ帳から開きたい
-
SGファイルって何ですか?
-
dataファイルをxtxファイルにす...
-
最近使ったファイルからファイ...
-
ドラッグアンドドロップでファ...
-
二重カウント防止
-
shellで16桁の数字が含まれるフ...
-
大量のファイルの読み込みについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
バッチで118項目のCSVを処理し...
-
CSVファイルへの保存の際、デー...
-
グローバル変数のよくない使い...
-
テキストファイルの最終行を削...
-
ドラッグアンドドロップでファ...
-
VB.NETによるプロセス間通信
-
VBAにてEXCEL以外のファイル(テ...
-
分割コンパイルの#defineについて
-
ファイルの結合
-
iniファイルに追記がしたいです。
-
VBに、Cのincludeのようなもの...
-
動画処理のライブラリについて
-
Cでのネットワークファイルの読...
-
ダイアログボックスで複数フォ...
-
C言語のfopenについて教えてく...
-
「VBScript」ADODB.Streamにお...
-
マウスポインタの変更
おすすめ情報