• ベストアンサー

C言語について。

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

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

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

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

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

その他の回答 (28)

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

> 画像ファイルの処理というのはどういう状態の事なのでしょうか? プログラムで画像データを表示したり加工したり転送したりする事ですね。

zasx1097
質問者

補足

すみません。例えば、excelで例えると、USBメモリーで、excelのデータを読み込み、excelにデータを書き込み、USBメモリーの書き込むのであり、excelの加工などは、別のライブラリのプログラムがするという事でしょうか?教えていただけると嬉しいです。

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

> 画像ファイルの入出力とは、どういう状態なのでしょうか? ディスク上に記録されている画像データを変数(メモリ)に読み込んだり、変数(メモリ)に入っている画像データをディスクに書き込むと言う事です。 > 例えば、画像データで、富士山の写真や、音声データの曲などの入出力を処理するのはどういう状態なのでしょうか? ディスク上に記録されている画像データや音声データを変数(メモリ)に読み込んだり、変数(メモリ)に入っている画像データや音声データをディスクに書き込むと言う事です。

zasx1097
質問者

補足

画像ファイルの処理というのはどういう状態の事なのでしょうか?教えていただけると嬉しいです。

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

> 入出力の処理だけを行うとは、どういう事でしょうか?教えていただけると嬉しいです。 回答No.1から順に読み返してもらえれば判るかと思います。

zasx1097
質問者

お礼

例えば、画像データで、富士山の写真や、音声データの曲などの入出力を処理するのはどういう状態なのでしょうか?教えていただけると嬉しいです。

zasx1097
質問者

補足

画像ファイルの入出力とは、どういう状態なのでしょうか?教えていただけると嬉しいです。すみません。教えていただけると嬉しいです。すみません。

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

> 例えば、データでも、「テキストデータ」と「画像データ」などは、別のライブラリで処理されるということでしょうか? はい、そうです。 stdio.h には画像ファイルの処理をする関数は定義されていません。 あくまでも入出力の処理だけを行います。 > 最初の質問文の、stdio.h は〜(省略)「ファイルです。」という所です。 C言語のライブラリは全てファイルで提供されているから、そう書いてあるのでしょう。

zasx1097
質問者

補足

入出力の処理だけを行うとは、どういう事でしょうか?教えていただけると嬉しいです。すみません。

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

> 端的にいうと、stdio.hは、サイトで言う入出力で、データを扱うライブラリで、「テキストデータ」や「オフィスデータ」や「画像データ」や「音声データ」などがありますよ。という事でしょうか? 概ね合っていますが、stdio.h においては「テキストデータ」や「オフィスデータ」や「画像データ」や「音声データ」は全て「ファイル」であって中身のフォーマットは関係ありません。 個々のフォーマットに基づく処理は別のライブラリを用いることになります。 > 最後のファイルです。というのは、プログラムを書くからファイルなのでしょうか? 「最後のファイルです。」と言うのはどこから出てきた言葉なのでしょうか。

zasx1097
質問者

補足

ということは、中身の書式は、例えば、データでも、「テキストデータ」と「画像データ」などは、別のライブラリで処理されるということでしょうか? 最後のファイルです。というのは、すみません。最後の方に、「ファイルです。」と書きましたよね? 最初の質問文の、stdio.h は〜(省略)「ファイルです。」という所です。かぎかっこをしている部分です。教えていただけると嬉しいです。

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

> 以下のURLは、私の回答の答えになっているのでしょうか?あなたが言いたかったことは、このURLのことでしょうか? No.1で回答したことと概ね同じ事を言っていると思っていいんじゃないでしょうか。

zasx1097
質問者

お礼

最後のファイルです。というのは、プログラムを書くからファイルなのでしょうか?教えていただけると嬉しいです。

zasx1097
質問者

補足

確認ですが、あなた様の仰りたいことは、端的にいうと、stdio.hは、サイトで言う入出力で、データを扱うライブラリで、「テキストデータ」や「オフィスデータ」や「画像データ」や「音声データ」などがありますよ。という事でしょうか?教えていただけると嬉しいです。

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

> CPUとOSが異なる場合というのはどういう事でしょうか?教えていただけると嬉しいです。 例えばスマホアプリでAndroid用とiPhone(iOS)用の両方が用意されているアプリがありますが、AndroidとiPhoneでは使用されているCPUが違いますしOSも全く異なります。 これが「CPUとOSが異なる」と言う事です。

zasx1097
質問者

補足

迅速な回答ありがとうございます!以下のURLは、私の回答の答えになっているのでしょうか?あなたが言いたかったことは、このURLのことでしょうか?教えていただけると嬉しいです。 https://www.sejuku.net/blog/9476

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

> 開発ターゲットとは、例えばどういうものでしょうか? どのCPUが使われているハードウェアで、どのOS上で貴方が作るプログラムを動かすのかと言う事です。 IntelやAMDのx86系CPUでWindowsが動作している環境だったり、ARM 系のCPUでAndroidが動作している環境だったりとプログラムを動かす環境は様々あります。 x86系CPUでもMaxOSも使えますし、LinuxやBSDなどのUNIXライクなOSも使えたりとバリエーションは多数あります。

zasx1097
質問者

補足

CPUとOSが異なる場合というのはどういう事でしょうか?教えていただけると嬉しいです。

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

> No.7の異なる条件下というのは、どういう事でしょうか?教えていただけると嬉しいです。 No.7の回答に書いた通り「開発ターゲットとなるCPUとOSの組合せが異なると」言う事です。

zasx1097
質問者

補足

開発ターゲットとは、例えばどういうものでしょうか?CPUとOSが同じと異なる場合の例についても教えていただけると嬉しいです。

すると、全ての回答が全文表示されます。
  • _kappe_
  • ベストアンサー率68% (1606/2337)
回答No.9

「など」の内容が気になるなら、実際にstdio.hを見てみればいいと思います。 特にこだわりがない場合は、たとえばアップル社が公開しているmacOS用のstdio.hを見るのがお手軽です。 https://opensource.apple.com/source/Libc/Libc-1439.40.11/include/stdio.h.auto.html 別のOSやコンパイラ用のstdio.hと内容が同一でないことに注意してください。 C言語の初心者にはほとんど意味が分からないでしょうけれど、それで構いません。雰囲気だけ味わってください。 世の中のC言語プログラマーのほとんどはstdio.hの中に何が書かれているか知らずにプログラムを作っています。 では、プログラムにインクルードすべきヘッダーファイルはどうやって決めるのか? 例としてputsのマニュアルを見てください。リンク先はLinux用のものです。 https://linuxjm.osdn.jp/html/LDP_man-pages/man3/puts.3.html 「書式」のところに#include <stdio.h>と書かれています。 プログラマは、これを見て「putsを使うにはstdio.hをインクルードする必要があるんだな」と把握して、プログラムにその行を追記します。 同様に、sqrtを使う際にはmath.hをインクルードする必要があるとマニュアルの記述で分かります。 https://linuxjm.osdn.jp/html/LDP_man-pages/man3/sqrt.3.html stdio.hの中身が気になるのは悪いことではありませんが、初心者のうちは気にせずにプログラミングの勉強を進めることをお勧めします。C言語の文法やCプリプロセッサの働きを理解し、自作プログラム用のヘッダーファイルを作るようになってからstdio.hを読み直すほうが圧倒的に効率が良いからです。

zasx1097
質問者

補足

No.7の方が言っている開発ターゲットとは、例えばどういうものでしょうか?CPUとOSが同じと異なる場合の例についても教えていただけると嬉しいです。

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

関連するQ&A