getlineとcinの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


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を使用するのが一般的です。

タイトルとURLをコピーしました