istringstream、ostringstream、stringstream类介绍

   2025-03-15 3810
核心提示:istringstream、ostringstream和stringstream类都是C++标准库中的流类,用于处理字符串。它们都是继承自基类istringstream、ostr

istringstream、ostringstream和stringstream类都是C++标准库中的流类,用于处理字符串。它们都是继承自基类istringstream、ostringstream和stringstream。

istringstream类:

istringstream类用于从字符串中读取数据。它主要用于将字符串转换为其他数据类型,比如将字符串转换为整数、浮点数等。istringstream对象可以像输入流一样从字符串中读取数据,并且可以通过输入操作符(>>)进行数据提取。例如:

#include <iostream>#include <sstream>#include <string>int main() {std::string str = "123 456 789";std::istringstream iss(str);int num1, num2, num3;iss >> num1 >> num2 >> num3;std::cout << num1 << " " << num2 << " " << num3 << std::endl;return 0;}

输出:

123 456 789
ostringstream类:

ostringstream类用于将数据输出到字符串中。它主要用于将其他数据类型转换为字符串。ostringstream对象可以像输出流一样使用输出操作符(<<)将数据写入到字符串中。例如:

#include <iostream>#include <sstream>#include <string>int main() {std::ostringstream oss;int num1 = 123;float num2 = 3.14;std::string str = "abc";oss << num1 << " " << num2 << " " << str;std::string result = oss.str();std::cout << result << std::endl;return 0;}

输出:

123 3.14 abc
stringstream类:

stringstream类是istringstream和ostringstream的结合体,既可以从字符串中读取数据,也可以将数据写入到字符串中。stringstream对象可以同时用作输入流和输出流,可以通过输入操作符(>>)和输出操作符(<<)进行数据的读取和写入。例如:

#include <iostream>#include <sstream>#include <string>int main() {std::stringstream ss;int num1 = 123;float num2 = 3.14;std::string str = "abc";ss << num1 << " " << num2 << " " << str;int result1;float result2;std::string result3;ss >> result1 >> result2 >> result3;std::cout << result1 << " " << result2 << " " << result3 << std::endl;return 0;}

输出:

123 3.14 abc

总结:istringstream类用于从字符串中读取数据,ostringstream类用于将数据写入到字符串中,stringstream类既可以从字符串中读取数据,又可以将数据写入到字符串中。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言