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); // 读入包含空格的一整行,直到回车
posted @ 2025-12-04 19:23  Sunstreamy  阅读(4)  评论(0)    收藏  举报