吴晓阳
发布于 2022-11-22 / 294 阅读
0

c++ stringstream常见用法

数据类型转换

#include <string>
#include <sstream>
#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
    stringstream sstream;
    string strResult;
    int nValue = 1000;

    // 将int类型的值放入输入流中
    sstream << nValue;
    // 从sstream中抽取前面插入的int类型的值,赋给string类型
    sstream >> strResult;

    cout << "[cout]strResult is: " << strResult << endl;
    printf("[printf]strResult is: %s\n", strResult.c_str());

    return 0;
}

2.多个字符串拼接

#include <string>
#include <sstream>
#include <iostream>

using namespace std;

int main()
{
    stringstream sstream;

    // 将多个字符串放入 sstream 中
    sstream << "first" << " " << "string,";
    sstream << " second string";
    cout << "strResult is: " << sstream.str() << endl;

    // 清空 sstream
    sstream.str("");
    sstream << "third string";
    cout << "After clear, strResult is: " << sstream.str() << endl;

    return 0;
}

多次数据类型转换的场景

#include <sstream>
#include <iostream>
using namespace std; 
int main()
{
   stringstream sstream;
   int first, second;

   // 插入字符串
   sstream << "456";
   // 转换为int类型
   sstream >> first;
   cout << first << endl;

   // 在进行多次类型转换前,必须先运行clear()
   sstream.clear();

   // 插入bool值
   sstream << true;
   // 转换为int类型
   sstream >> second;
   cout << second << endl;

   return 0;
}