📜  stringstream 到字符串 (1)

📅  最后修改于: 2023-12-03 15:05:23.249000             🧑  作者: Mango

stringstream 到字符串

介绍

stringstream 类是 C++ 标准库中的一个类,它允许将字符串和基本数据类型之间进行转换。

stringstream 继承自 istream 类和 ostream 类,因此既可以像 cin 一样从流中读取数据,也可以像 cout 一样将数据写入流中。

使用方法

使用 stringstream 需要包含头文件 <sstream>

以下是 stringstream 的使用方法示例:

#include <iostream>
#include <sstream>

int main() {
    std::stringstream ss;
    std::string str = "12345";
    int num;

    ss << str;
    ss >> num;

    std::cout << "字符串 " << str << " 转换成整数:" << num << std::endl;

    return 0;
}

上述示例中,首先创建了一个 stringstream 对象 ss,初始化为空流。然后将字符串 str 写入 ss 流中,再将流中的值读取到整型变量 num 中。

注意事项
  • 使用 stringstream 时,需要注意流的状态。流可能处于异常状态,例如读取不正确的数据类型时,流的状态就会变为异常状态。可以通过调用 stringstream::clear() 函数将流的状态恢复为正常状态。
  • 在使用 stringstream 转换数据类型时,需要确保字符串中的数据能够正确转换为目标类型,例如将字符串 "123abc" 转换为整数时,就会失败。
参考文献
  • http://www.cplusplus.com/reference/sstream/stringstream/
  • https://zh.cppreference.com/w/cpp/io/basic_stringstream
  • 《Effective C++》 - Scott Meyers

以上是 stringstream 到字符串的介绍。