C++ 中的 std::istringstream:从字符串中读取数据
C++ 中的 std::istringstream:从字符串中读取数据
std::istringstream 是 C++ 标准库中的一个类,它允许你将字符串视为输入流,并像从文件或标准输入读取数据一样从中提取数据。
如何使用 std::istringstream
-
包含头文件: 首先,你需要包含
<sstream>头文件,其中包含std::istringstream类的定义:cpp #include <sstream> -
创建
std::istringstream对象: 然后,你可以创建一个std::istringstream对象,并将要读取的字符串传递给它的构造函数:int main() { std::string str = 'Hello World!'; std::istringstream iss(str); // ... } ``` -
从流中提取数据: 创建
std::istringstream对象后,你可以使用提取运算符>>从中读取数据,就像使用std::cin一样。例如,你可以使用以下代码从字符串中提取单词:cpp std::string word; while (iss >> word) { std::cout << word << std::endl; }
示例
以下是一个完整的示例,演示如何使用 std::istringstream 从字符串中读取数据:cpp#include
int main() { std::string str = 'Hello World! 123 4.56'; std::istringstream iss(str);
std::string word; int number; double decimal;
// 读取字符串 iss >> word; // 读取 'Hello' std::cout << 'Word: ' << word << std::endl;
// 读取整数 iss >> number; // 读取 123 std::cout << 'Number: ' << number << std::endl;
// 读取浮点数 iss >> decimal; // 读取 4.56 std::cout << 'Decimal: ' << decimal << std::endl;
return 0;}
总结
std::istringstream 是 C++ 中一个强大的工具,可以方便地从字符串中读取数据。它提供了一种灵活且类型安全的方式来解析和处理字符串,使其成为许多字符串处理任务的理想选择。
原文地址: http://www.cveoy.top/t/topic/ci8D 著作权归作者所有。请勿转载和采集!