当前位置: 首页> 文旅> 艺术 > 腾讯云建站流程_厦门网站优化服务_搭建一个网站_seo上排名

腾讯云建站流程_厦门网站优化服务_搭建一个网站_seo上排名

时间:2025/7/11 7:41:35来源:https://blog.csdn.net/2301_79436039/article/details/146886020 浏览次数:0次
腾讯云建站流程_厦门网站优化服务_搭建一个网站_seo上排名

istringstream 是 C++ 标准库 <sstream> 提供的输入字符串流(类似 cin),用于 解析字符串 并提取数据。


📌 1. 基本用法

#include <iostream>
#include <sstream>  // 包含 sstream 头文件
using namespace std;int main() {string data = "123 45.67 test";istringstream ss(data);  // 创建输入流,数据来自字符串int a;double b;string c;ss >> a >> b >> c;  // 逐个读取数据cout << "整数: " << a << endl;cout << "浮点数: " << b << endl;cout << "字符串: " << c << endl;return 0;
}

🖥 输出

整数: 123
浮点数: 45.67
字符串: test

类似 cin,但数据来源于字符串!


📌 2. 用 while 解析多个数据

#include <iostream>
#include <sstream>
using namespace std;int main() {string numbers = "10 20 30 40 50";istringstream ss(numbers);int num;while (ss >> num) {  // 逐个提取整数cout << num << " ";}return 0;
}

🖥 输出

10 20 30 40 50

自动按空格分割,每次读取一个整数,直到字符串结束。


📌 3. 用 getline() 逐行读取

#include <iostream>
#include <sstream>
using namespace std;int main() {string data = "Hello World\nC++ Programming\nistringstream";istringstream ss(data);string line;while (getline(ss, line)) {  // 按行读取cout << "行: " << line << endl;}return 0;
}

🖥 输出

行: Hello World
行: C++ Programming
行: istringstream

可用于读取多行文本!


📌 4. 按 ,: 自定义分割

#include <iostream>
#include <sstream>
using namespace std;int main() {string csv = "apple,banana,orange,grape";istringstream ss(csv);string fruit;while (getline(ss, fruit, ',')) {  // 以 ',' 作为分隔符cout << fruit << endl;}return 0;
}

🖥 输出

apple
banana
orange
grape

可以用 getline(ss, var, '分隔符') 解析 CSV 文件等格式。


📌 5. istringstream 结合 sscanf()

#include <iostream>
#include <sstream>
using namespace std;int main() {string fraction = "-5/7";istringstream ss(fraction);int num, den;char slash;ss >> num >> slash >> den;  // 按 "整数/整数" 解析cout << "分子: " << num << ", 分母: " << den << endl;return 0;
}

🖥 输出

分子: -5, 分母: 7

适用于解析数学表达式,如分数 a/b、时间 HH:MM:SS 等。


🔹 istringstream 适用场景

解析字符串(如 cin,但数据来源是 string
按空格或特定字符拆分字符串(如 CSV、日志分析)
逐行读取文本(如配置文件、日志文件)
提取数据并转换为不同类型(如 intdouble

🚀 适用于字符串解析、数学表达式解析、文件数据处理等场景!

关键字:腾讯云建站流程_厦门网站优化服务_搭建一个网站_seo上排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: