CIN、cin.get()、cin.getline()、getlineの()の差を用いて約4枚の毎日のメモ

PATエラーの真ん中について1。

:文字配列エラーを使用して
、チャーSTR [256]
所与のミスをし、次にC ++文字列を使用
:に
、文字列strを
char配列のように、添字は、単一の文字をピックアップするために使用することができる
が、違いがあり、それが決定されます文字長
、LEN = STRLEN INT(STR)を使用して文字列str [256]、
INT LEN = str.length()を使用して文字列STRを、。

2.出力CINについて、cin.get()、cin.getline()、getlineの()を使用して、

序文

PATB1033古いキーボードのタイピング(20ポイント)を行う際に、間違った答えは解決されていないがある
だけで19分かかった、困惑
STR >>その後、私はCIN; getlineの置き換え(CIN、STR);問題解決
CIN .getline()とgetlineの()は、二つの異なるものです。
cin.getline()の#includeであります
そして、のgetline(CIN、STR)使用方法:文字列を受信し、出力空間を受け取ることは、「の#includeを含める必要があります

1.ジン

終了条件:[ENTER]、[スペース] 、[タブ]
のアプローチ:バッファに遭遇はcin [ENTER]、[スペース]、 [タブ]は、現在の入力を終了し、します
[スペース]、および放棄[ENTER]、 [タブ]、次の入力に引き続き
連続[スペース]があった場合に、[入力し、[タブ]は、すべて破棄されます。

2. cin.get()

用法1:= cin.get()またはcin.get(a)の
終了条件:十分な入力文字の後、キャリッジリターン、入力状態における文字の数が満たされた場合にのみ、つまり
、次に搬送が終了します。[スペース]、[ENTER] [タブ]が破棄されることはありません。
説明:これは、単一文字の入力では、文字が入力されると、それはASCALLのコードに格納されている使用します

使用2:文字入力arraynameにcin.get(arrayname、サイズ)は、長さ、サイズ超えていない
注:arraynameは、char []、char配列の種類、すなわち、ではない文字列の種類を入力する必要があり、大きさ、すなわち、許可、入力の長さを指し入力の最大長。
処理方法:入力データが[にarrayLength]、配列長にarrayLengthをcharに想定されます。cin.get(サイズ)---サイズ 、にarrayLengthは、 4つのカテゴリに分けることができます。

エンドcin.getは(arrayname、サイズは、S)arraynameデータが文字列に入力され、または長さサイズに到達端面の文字:シンタックス3:使用上の
注意:文字列がなければならない、すなわちチャーA [] L型ではなく、文字列型、最大入力長のサイズ; S制御は、入力バッファ内の現在の端面SはSを破棄されます

#include<iostream>
using namespace std;
int main(){
    int i;
    char a[10];
    cin.get(a,10,'.');
    cout<<a;
}

3. cin.getline()

cin.getline()とcin.get使用()は、実質的に同じものを使用して、パラメータを使用せずに、2つのパラメータのみ、三つのパラメータ2
cin.gerline(arrayName、サイズ)
cin.getline(arrayName、サイズ、S)使用及びcin.get()は、実質的に同じ効果だけでなく、いくつかの違い
(1)cin.getline(arrayname、サイズ ) とcin.get(arrayname、大きさ)の差
cin.get(arrayname、サイズ)に遭遇[入力]現在の入力を終了すると、彼は緩衝液を除去しない[入力]
cin.getline(arrayName、サイズ)に直面したとき、[入力]現在の入力が終了しますが、バッファが削除され、[入力]

4.のgetline(CIN、STR)

使用方法:文字列を受信し、出力空間を受け取ることができる、「の#includeを含める必要があります

#include<iostream>
#include<string>
using namespace std;
main (){
string str;
getline(cin,str);
cout<<str<<endl;
}

問題はその5.ノート

図1に示すように、cin.getline()のIStreamストリームが属し、getlineの()は、ストリングフローに属し、同じ2つの機能はありません
>> cinを同時に使用した場合、2、getlineの()、その入力CINに>>注目すべき流れが終了した後、getlineの前に()、必要な
STR =「\ N-を」;
getlineの(CIN、STR);
入力ストリームCINキャリッジリターンとして仕方そうしない場合は、コンソールには、キャッシュをクリアしますプログラムは、入力ストリームとして変数の前にデフォルト設定されますので、getlineのは、入力が求められます()表示され、スキップしません。

おすすめ

転載: www.cnblogs.com/tsruixi/p/11781506.html