stringstream & getline
1. 必杀技:字符串切割 (Split)
强绑定用法:这是最常用的场景,配合使用实现 Split。
string str = "2023-10-01";
stringstream ss(str);
string segment;
// 重点:getline 第三个参数是分隔符
//从ss中按'-'读取字符存入segment中
while(getline(ss, segment, '-')) {
cout << segment << endl;
}
// 输出:2023, 10, 01
2. 只有 stringstream 时:类型转换
不用 getline,改用
>>和<<,就像 cin/cout 一样。
stringstream ss;
ss << "123"; // 塞进去字符串
int x;
ss >> x; // 拿出来变成 int
3. 只有 getline 时:读取整行
不用 stringstream,直接读键盘输入。
string s;
getline(cin, s); // 读入包含空格的一整行,直到回车
浙公网安备 33010602011771号