Không có một cách duy nhất "thanh lịch nhất" để duyệt các từ của chuỗi C/C++. Cách dễ đọc nhất có thể được coi là thanh lịch đối với một số người, trong khi hiệu năng cao nhất cho người khác. Tôi liệt kê 2 phương pháp có thể dùng. Cách đầu dùng stringstream để đọc các từ tách bởi khoảng trắng. Cách này hơi hạn chế nhưng làm tốt nhiệm vụ nếu bạn cung cấp các kiểm tra thích hợp. Ví dụ:
Ví dụ mã
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
int main() {
string str("Hello from the dark side");
string tmp; // chuỗi lưu từ mỗi lần lặp
stringstream str_strm(str);
vector<string> words; // vector chứa các từ
while (str_strm >> tmp) {
// Cung cấp kiểm tra thích hợp cho tmp như nếu rỗng
// Loại bỏ ký hiệu như !, ., ?, v.v.
// Cuối cùng push vào vector.
words.push_back(tmp);
}
for(int i = 0; i<words.size(); i++)
cout << words[i] << endl;
}
Kết quả
Hello from the dark side