C ++文字列読み取りのgetline関数

公式の
説明:1。 
のIStreamとのgetline(のIStream&IS文字列&STR、char型DELIMを)
のIStream&getlineの(のIStream && IS文字列&STRは、char型DELIM)は、2 
のIStreamとのgetline(のIStream&IS文字列&STR)
のIStream&getlineの(のIStreamは && IS文字列&STR); 

ストリームラインから文字列を取得します
((、または改行文字から抽出し、DELIM区切り文字を見つけるまで、彼らはSTRに保存されている2デフォルト)\ N- )。

IS:
のIStream 文字が抽出されるオブジェクト。
STR:
文字列  抽出ラインが格納されているオブジェクト。
コール(もしあれば)の前に文字列の内容は、抽出されたラインで廃棄され、置き換えられます。

例えば:

次の入力文字列の最初の入力ラインn、ラインnの代表(各行の文字列は、スペースを含んでいてもよいです)

3 
'AA' AA 
BBBで
CCC
#include <iostreamの> 
する#include <ベクトル>
 使用して 名前空間STD; 

int型のmain()
{ 
    ベクトル < ストリング > VEC;
     int型N-; 
    CIN >> N-; 
    。CINのGET()// Nの入力後キャリッジので、これを使用して文食べキャリッジリターン、または以下のgetline()最初の文字列を取得します'\ N-'です

    しばらく(N-- 
    { 
        文字列S; 
        getlineの(CIN、S);キャリッジに//デフォルトは、区切り文字として他のシンボルの点で、(CIN、S 'getlineのに ')、 例えばコンマ
        vec.push_back(S);        
    } 
    COUT << " 結果:" <<endl;
    以下のためにint型 i = 0 ; iがvec.sizeを()<; ++ I)
    { 
        COUT << vec.at(I)<< ENDL。
    } 

    システム(一時停止)。
    リターン 0 ; 
}

 

cin.getrずに()「\ n」が食べられるために、次の処理が行われます。

入力で2回入力されません、最初の行の出力が空白である(唯一の改行記号が、ディスプレイは空白です)




 

おすすめ

転載: www.cnblogs.com/jodio/p/11391648.html