getlineの()とget()(++学習ノートC)

getlineの()とget()のIStreamクラス(例えばCIN)は、行指向のクラスのメンバ関数の数を提供します

1.getline()関数

行全体を読んで、入力の改行入力端には、Enterキーを決定します。

cin.getline(パラメータ1、パラメータ2):メソッドを呼び出します

この関数は、パラメータが20である場合、関数は残り、19文字まで読み込み、最初のパラメータは、アレイ入力ラインの名前を格納するために使用され、2番目のパラメータが読み取るために文字の数であり、2つのパラメータをとりヌル文字のためのストレージスペースは自動的に最後に追加されます。

getlineの()メンバ関数は、指定した文字数や改行を読み込むときに読んで停止します。

それは逆を保存せずにライン改行、改行の終わりで決定された文字列が格納されている場合、それはヌル改行文字に置き換えられます。

2.get()関数

cin.get(パラメータ1、パラメータ2):メソッドを呼び出します

そして、のgetline()同じパラメータを受け取ると、同じパラメータが解釈され、行の最後に読み込まれますが、読んで改行を破棄しますが、入力キューにそれを残して取得することはできません。

例:cin.get(名前、サイズ);

       cin.get(デザート、サイズ);

2番目の呼び出しは、最初の改行文字なので、()行の末尾に達したと考えられますが、任意の読みを見つけられませんでしたしたときに表示されるように、最初の呼び出しの後に、改行は、入力キューに留まりますので、コンテンツを取ります。

引数なしで利用可能なcin.get()は次の文字(偶数ラインフィード)を読み込み、そのため次の行が読み込まれるための準備ができて、改行を処理するためにそれを使用することができます。

クラスの2人のメンバーはまたcin.get(名前、サイズ)に.get()のように、使用して一緒にスプライシングされ得ます。

GETを使用する場合は()行全体を読み取るために、どのような理由は、彼らが行全体を読んでいるので、読み取りを停止することです知っている、と塗りつぶしの配列によるものではないのですか?

次の文字を表示し、改行場合は、すでに銀行だけでなく、他の入力を示し、それ以外の場合は、行全体をお読みください。

おすすめ

転載: www.cnblogs.com/zhi321/p/11427290.html