• 締切済み

iostream stdio 違いについて。

一昔前のC言語では、#include <stdio.h>などのものを、C ++言語では、#include <iostream>の1行で済ませるということでしょうか? だけど、C + +言語で、#include<stdio.h>を使いたければ使うことは出来ますよ。だけど、#include<iostream>だけで、済みますよ。という事でしょうか?つまり、#include<iostream>は、全ストリームつまり、全ファイル・全ライブラリを1つにまとめたという事でしょうか?教えて頂けると幸いです。

みんなの回答

  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.3

>#include <iostream>は(中略)全てのファイルやライブラリを含んでいるわけではありません。 >という事であっているのでしょうか? 合っています。 >C言語とC++では、標準入出力が異なるよ。ということでしょうか? いいえ、C言語とC++言語の違いではなくてstdio.hとiostreamの違いです。

  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.2

> C言語の#include<studio.h>と#include<iostream>はどこが違うのでしょうか? 標準出力へデータを書く、標準入力からデータを読む、などの目的は両者で重なっていますが、それぞれの実装方法や機能の範囲は違います。 少し例を挙げます。 stdio.hのprintfを使って書いたprintf("data(%04d)=%10.1f\n", i, d[i]);という処理は、iostreamの機能だけでは書けません。文字列フォーマットのためには別のヘッダファイルをインクルードすることになります。 一方、iostreamでは自作のデータ型でも<<演算子を定義することでcout << myDataType;のように出力することができますが、stdio.hの関数を使って同様のことはできません。 最後に、よくある書き間違いですがstudio.hではなくてstdio.hです。

zasx1097
質問者

お礼

チャットGPTに聞きました。 C++言語において、#include <iostream>はC言語の#include <stdio.h>に似た機能を果たしますが、直接的な一対一の比較ではありません。#include <iostream>はC++の標準入出力ライブラリであり、std::coutやstd::cinなどを含む機能を提供します。 一方で、#include <stdio.h>はC言語の標準入出力ヘッダであり、C++でも使用可能ですが、C++の標準ライブラリである<iostream>が提供する機能とは異なります。 簡潔に言えば、#include <iostream>は標準的なC++の入出力機能をまとめて提供しているもので、全てのファイルやライブラリを含んでいるわけではありません。 という事であっているのでしょうか?後、C言語とC++では、標準入出力が異なるよ。ということでしょうか?教えて頂けると幸いです。

zasx1097
質問者

補足

もう少し簡単なプログラムで、例を挙げて頂けると幸いです。

  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.1

>#include<iostream>は、全ストリームつまり、全ファイル・全ライブラリを1つにまとめたという事でしょうか? 違います。iostreamをインクルードすることで使えるようになるのは標準C++ライブラリのごく一部の機能だけです。

zasx1097
質問者

お礼

以下のURLで、C言語の#include<studio.h>と、C++の#include<iostream>を使っているのですが、どこが違うのでしょうか?教えて頂けると幸いです。 https://zenn.dev/masahiro_toba/books/a7d0c3d685a209/viewer/531675

zasx1097
質問者

補足

それでは、C言語の#include<studio.h>と#include<iostream>はどこが違うのでしょうか?教えて頂けると幸いです。

関連するQ&A