Cách 1: Dùng stringstream đọc từ tách bởi khoảng trắng. Hơi hạn chế nhưng khá tốt nếu cung cấp kiểm tra thích hợp.
Ví dụ
#include <vector>
#include <string>
#include <sstream>
using namespace std;
int main() {
string str("Hello from the dark side");
string tmp;
stringstream str_strm(str);
vector<string> words;
while (str_strm >> tmp) {
// Kiểm tra tmp (rỗng, ký tự đặc biệt !, ., ?, v.v.)
words.push_back(tmp);
}
}Cách 2: Dùng getline với delimiter tùy chỉnh
#include <vector>
#include <string>
#include <sstream>
using namespace std;
int main() {
stringstream str_strm("Hello from the dark side");
string tmp;
vector<string> words;
char delim = ' '; // delimiter
while (getline(str_strm, tmp, delim)) {
// Kiểm tra tmp
words.push_back(tmp);
}
}