getlineとcinの主な違いは、getlineがstringヘッダーファイルの標準ライブラリ関数であるのに対し、cinはistreamクラスのインスタンスである点です。
C++は、ベル研究所のBjarne Stroustrupによって開発された高水準の汎用プログラミング言語です。
C言語よりも高度な機能を含んでいる。
C++は、様々なヘッダーファイルからなる標準ライブラリを提供します。
それぞれのヘッダーファイルには関数が用意されている。
getlineはstringヘッダーファイルの関数であり、cinはistreamクラスで定義されたオブジェクトです。
getlineとは
getline() は、string ヘッダーファイルの標準ライブラリ関数です。
入力ストリームから文字列や行を読み込むのに役立ちます。
この関数は、入力ストリームから文字を取得し、改行文字を受け取るまで文字列オブジェクトに追加します。
例えば、以下のようなプログラムがあります。
上のプログラムでは、nameは文字列です。
cout文は、ユーザーに名前の入力を求めています。
getline関数は、cinとnameという2つのパラメータを持っています。
さらに、cinはistreamクラスのオブジェクトです。
入力を読み込む元を記述しています。
nameは文字列オブジェクトです。
入力は、ストリームから読み込まれた後、このオブジェクトに格納されます。
cinとは
cin は istream クラスのインスタンスです。
このオブジェクトは標準入力デバイス(キーボード)に関連しています。
ストリーム抽出演算子 >> と連動しています。
以下のプログラムを参照してください。
図2:cinを用いたC++プログラム
上のプログラムでは、nameはchar型変数です。
coutは、ユーザが名前を入力することを示す。
ユーザが名前を入力し、Enterキーを押すと、変数nameに格納されます。
最後に、coutはその名前をコンソールに表示する。
さらに、ストリーム抽出演算子(>>)を使って、次のようにユーザの入力をより多く得ることができる。
cin >> name >> marks;
次のような感じです。
cin >> name;
cin>>marks;
getlineとcinの関係
- getline関数はcinをパラメータとして受け取ります。
getlineとcinの違い
定義
getline() は、C++の標準ライブラリ関数で、入力ストリームから文字列や行を読み取るために使用されます。
基本情報
getlineとcinの主な違いは、getlineが関数であるのに対して、cinはオブジェクトであることです。
パラメータ
また、getlineはパラメータを受け付けますが、cinにはパラメータがありません。
この点もgetlineとcinの違いです。
結論
getline と cin はどちらもユーザーの入力を得るのに役立ちます。
getlineとcinの主な違いは、getlineがstringヘッダーファイルの標準ライブラリ関数であるのに対し、cinはistreamクラスのインスタンスであることです。
簡単に言えば、getlineは関数で、cinはオブジェクトです。
通常、getlineの代わりにcinを使用するのが一般的です。