Computer >> Máy Tính >  >> Lập trình >> C ++

Phân tích cú pháp chuỗi std ::được phân tách bằng dấu phẩy trong C ++

Trong chương trình này, chúng ta sẽ xem cách phân tích cú pháp chuỗi được phân tách bằng dấu phẩy trong C ++. Chúng tôi sẽ đặt một chuỗi ở đó một số văn bản hiện diện và chúng được phân cách bằng dấu phẩy. Sau khi thực hiện chương trình này, nó sẽ chia các chuỗi đó thành một đối tượng kiểu vectơ.

Để tách chúng, chúng tôi sử dụng hàm getline (). Cú pháp cơ bản của hàm này như sau:

getline (input_stream, string, delim)

Hàm này được sử dụng để đọc một chuỗi hoặc một dòng từ luồng đầu vào.

Input: Some strings "ABC,XYZ,Hello,World,25,C++"
Output: Separated string ABC XYZ Hello World 25 C++

Thuật toán

Step 1: Create stream from given string
Step 2: While the stream is not completed
Step 2.1: Take item before comma
Step 2.2: Add item into a vector
Step 3: Return the vector

Mã mẫu

#include<iostream>
#include<vector>
#include<sstream>
using namespace std;
main() {
   string my_str = "ABC,XYZ,Hello,World,25,C++";
   vector<string> result;
   stringstream s_stream(my_str); //create string stream from the string
   while(s_stream.good()) {
      string substr;
      getline(s_stream, substr, ','); //get first string delimited by comma
      result.push_back(substr);
   }
   for(int i = 0; i<result.size(); i++) {    //print all splitted strings
      cout << result.at(i) << endl;
   }
}

Đầu ra

ABC
XYZ
Hello
World
25
C++