C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++のgetline(文字列)


これは、フォーマットされていない入力としてストリームから文字を抽出し、抽出された文字が区切り文字になるか、n文字がsに書き込まれる(終了ヌル文字を含む)まで、c文字列としてsに格納するために使用されます。宣言は次のようなものです:

basic_istream& getline (char_type* s, streamsize n );
basic_istream& getline (char_type* s, streamsize n, char_type delim);

パラメータは、文字の配列への「s」ポインタであり、抽出された文字はc_stringとして格納されます。次のパラメータは「n」です。これは、書き込む最大文字数(終了文字を含む)です。 3番目のパラメーターは、「delim」明示的区切り文字です。連続する文字を抽出する操作は、正確に次の文字がこれと等しくなるとすぐに停止します(traits_type ::eqを使用)

この関数は、basic_istreamオブジェクト(* this)を返します。

#include <iostream>
using namespace std;
int main () {
   char name[256], title[256];
   cout << "Please, enter your name: ";
   cin.getline (name,256);
   cout << "Please, enter your favourite movie: ";
   cin.getline (title,256);
   cout << name << "'s favourite movie is " << title;
}

出力

Please, enter your name: Jack
Please, enter your favourite movie: The Boss Baby
Jack's favourite movie is The Boss Baby

  1. C++での文字列のトークン化

    このセクションでは、C++で文字列をトークン化する方法を説明します。 Cでは、文字配列にstrtok()関数を使用できます。ここに文字列クラスがあります。次に、その文字列から区切り文字を使用して文字列を切り取る方法を説明します。 C ++機能を使用するには、文字列を文字列ストリームに変換する必要があります。次に、getline()関数を使用して、タスクを実行できます。 getline()関数は、文字列ストリーム、出力を送信するための別の文字列、およびストリームのスキャンを停止するための区切り文字を受け取ります。 関数がどのように機能しているかを理解するために、次の例を見てみましょう。 サン

  2. C ++で文字列をトークン化しますか?

    最初の方法は、文字列ストリームを使用して、スペースで区切られた単語を読み取ることです。これは少し制限されていますが、適切なチェックを提供すれば、タスクはかなりうまくいきます。 例 #include <vector> #include <string> #include <sstream> using namespace std; int main() {    string str("Hello from the dark side");    string tmp; // A string