- 締切済み
iostream stdio 違いについて。
一昔前のC言語では、#include <stdio.h>などのものを、C ++言語では、#include <iostream>の1行で済ませるということでしょうか? だけど、C + +言語で、#include<stdio.h>を使いたければ使うことは出来ますよ。だけど、#include<iostream>だけで、済みますよ。という事でしょうか?つまり、#include<iostream>は、全ストリームつまり、全ファイル・全ライブラリを1つにまとめたという事でしょうか?教えて頂けると幸いです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- _kappe_
- ベストアンサー率68% (1581/2304)
>#include <iostream>は(中略)全てのファイルやライブラリを含んでいるわけではありません。 >という事であっているのでしょうか? 合っています。 >C言語とC++では、標準入出力が異なるよ。ということでしょうか? いいえ、C言語とC++言語の違いではなくてstdio.hとiostreamの違いです。
- _kappe_
- ベストアンサー率68% (1581/2304)
> 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です。
- _kappe_
- ベストアンサー率68% (1581/2304)
>#include<iostream>は、全ストリームつまり、全ファイル・全ライブラリを1つにまとめたという事でしょうか? 違います。iostreamをインクルードすることで使えるようになるのは標準C++ライブラリのごく一部の機能だけです。
お礼
以下のURLで、C言語の#include<studio.h>と、C++の#include<iostream>を使っているのですが、どこが違うのでしょうか?教えて頂けると幸いです。 https://zenn.dev/masahiro_toba/books/a7d0c3d685a209/viewer/531675
補足
それでは、C言語の#include<studio.h>と#include<iostream>はどこが違うのでしょうか?教えて頂けると幸いです。
お礼
チャット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++では、標準入出力が異なるよ。ということでしょうか?教えて頂けると幸いです。
補足
もう少し簡単なプログラムで、例を挙げて頂けると幸いです。