c++ stringstream常见用法
头文件#include<sstream>
1.数据类型转换
将int转换为string类型</sstream>
#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;
}可以使用 str() 方法,将 stringstream 类型转换为 string 类型;
可以将多个字符串放入 stringstream 中,实现字符串的拼接目的;
如果想清空 stringstream,必须使用 sstream.str(""); 方式;clear() 方法适用于进行多次数据类型转换的场景。详见示例
#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; }
小天才公司福利 1163人发布

