117.info
人生若只如初见

istringstream、ostringstream、stringstream类介绍

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

  1. istringstream类:

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

#include 
#include 
#include 
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
  1. ostringstream类:

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

#include 
#include 
#include 
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
  1. stringstream类:

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

#include 
#include 
#include 
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类既可以从字符串中读取数据,又可以将数据写入到字符串中。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe7ddAzsLBgVQBFE.html

推荐文章

  • linux系统下lseek函数的详细用法

    lseek函数用于在文件中定位文件偏移量。其原型为:
    #include off_t lseek(int fd, off_t offset, int whence); fd:文件描述符,指定要定位的文件。 offset...

  • 哈希表(散列表)原理详解

    哈希表(散列表)是一种常见的数据结构,其原理是通过哈希函数将键映射到一个固定大小的数组索引上,以实现高效的数据存储和检索操作。下面是哈希表的原理详解:...

  • java base64编码、解码的三种方式

    在Java中,可以使用以下三种方式进行base64编码和解码: 使用Java8的java.util.Base64类(推荐) import java.util.Base64;
    // 编码
    String encodedSt...

  • HttpClient基本功能的使用 Get方式

    HttpClient是一个功能强大、开源的HTTP客户端库,可以用于发送HTTP请求和处理HTTP响应。使用HttpClient的Get方式发送请求需要以下步骤: 创建HttpClient对象: C...