stringstream 是C++提供的串流(stream)事件
头文件:#include<sstream>
功能和C语言的sprintf一样
都是讲常量字符串和变量组合起来,形成新的字符串常量
用法:
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
string print(string &name, int *age, float weight) {
stringstream ret;
ret << "我的名字叫:" << name << ",我今年:" << *age << "岁,我的体重是:" << weight << endl;
// 必须用 .str() 把他转化位string类型的字符串才可以返回,才不会报错
return ret.str();
}
int main(void) {
stringstream ret;
string tmp;
int age = 20;
float weight = 120.0;
ret << "我是C++学习者,年龄:" << age << ",体重:" << weight << endl;
ret >> tmp;
// 或者:tmp = ret.str(); 必须使用 .str() 将他转化成string类型的字符串,才可以赋值
cout << tmp << endl;
cout << endl << "=====================================" << endl << endl;
// 也可以用做函数返回值使用
string name = "小红";
string test = print(name, &age, weight);
cout << test << endl;
system("pause");
return 0;
}
运行代码截图: