福田网站建设龙岗网站建设罗湖网站建设罗湖网站建设,wordpress两个头部,装饰工程经营范围有哪些,腾讯qq官网登录入口C引入了ostringstream、istringstream、stringstream这三个类#xff0c;要使用他们创建对象就必须包含sstream.h头文件。 istringstream类用于执行C风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操作。 strstream类同时可以支持C风格的串流的输入…C引入了ostringstream、istringstream、stringstream这三个类要使用他们创建对象就必须包含sstream.h头文件。 istringstream类用于执行C风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操作。 strstream类同时可以支持C风格的串流的输入输出操作。 istringstream类是从istream和stringstreambase派生而来ostringstream是从ostream和 stringstreambase派生而来 stringstream则是从iostream类和stringstreambase派生而来。 他们的继承关系如下图所示: istringstream是由一个string对象构造而来istringstream类从一个string对象读取字符。 istringstream的构造函数原形如下 istringstream::istringstream(string str);
#include iostream
#include string
#include sstream
using namespace std;
int main()
{ istringstream istr; istr.str(1 56.7); //上述两个过程可以简单写成 istringstream istr(1 56.7); cout istr.str()endl; int a; float b; istra; coutaendl; istrb; coutbendl; system(pause);
} 上例中构造字符串流的时候空格会成为字符串参数的内部分界例子中对a,b对象的输入”赋值”操作证明了这一点字符串的空格成为了整型数据与浮点型数据的分解点利用分界获取的方法我们事实上完成了字符串到整型对象与浮点型对象的拆分转换过程。 str()成员函数的使用可以让istringstream对象返回一个string字符串例如本例中的输出操作(cout
#include iostream
#include string
#include sstream
using namespace std;
int main()
{ ostringstream ostr; ostr.str(abc);//如果构造的时候设置了字符串参数,那么增长操作的时候不会从结尾开始增加,而是修改原有数据,超出的部分增长 ostr.put(d); ostr.put(e); ostrfg; string gstr ostr.str(); coutgstr; } 在上例代码中我们通过put()或者左移操作符可以不断向ostr**插入单个字符或者是字符串通过str()函数返回增长过后的完整字符串数据但值 得注意的一点是当构造的时候对象内已经存在字符串数据的时候那么增长操作的时候不会从结尾开始增加**,而是修改原有数据,超出的部分增长。 所以上面输出 defg 对于stringstream了来说不用我多说大家也已经知道它是用于C风格的字符串的输入输出的。 stringstream的构造函数原形如下 stringstream::stringstream(string str);
#include iostream
#include string
#include sstream
using namespace std; int main()
{ stringstream ostr(ccc); ostr.put(d); ostr.put(e); ostrfg; string gstr ostr.str(); coutgstrendl; char a; ostra; couta;system(pause);
} 除此而外stringstream类的对象我们还常用它进行string与各种内置类型数据之间的转换。
#include iostream
#include string
#include sstream
using namespace std; int main()
{ stringstream sstr; //--------int转string----------- int a100; string str; sstra; sstrstr; coutstrendl; //--------string转char[]-------- sstr.clear();//如果你想通过使用同一stringstream对象实现多种类型的转换请注意在每一次转换之后都必须调用clear()成员函数。 string name colinguan; char cname[200]; sstrname; sstrcname; coutcname; system(pause);
}
最后一个太给力了极大地方便了int与stringstring与char*的转换。在string中,c_str()函数返回的是const char*不是char*。 还可以使用ostringstream来完成以上转换代码
#include sstream
#include iostream
#include stringusing namespace std;
int main(void)
{int i1011;string c;ostringstream oss;ossi;coss.str();coutcendl;return 0;
}