考试大编辑整理C++编程知识
输出主要由重载的左移操作符(<<)来完成,输入主要由重载的右移操作符(>>)完成。
>>a表示将数据放入a对象中。
<
接下来我们继续看一下C++风格的串流控制,C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。
istringstream类用于执行C++风格的串流的输入操作。
stringstream类同时可以支持C++风格的串流的输入输出操作。
strstream类同时可以支持C风格的串流的输入输出操作。
istringstream类是从istream(输入流类)和stringstreambase(c++字符串流基类)派生而来,ostringstream是从ostream(输出
流类)和stringstreambase(c++字符串流基类)派生而来,stringstream则是从iostream(输入输出流类)和和stringstreambase(
c++字符串流基类)派生而来。
istringstream是由一个string对象构造而来,istringstream类从一个string对象读取字符。
istringstream的构造函数原形如下:
istringstream::istringstream(string str);
#include
#include
using namespace std;
int main()
{
istringstream istr;
istr.str(\"1 56.7\");
//上述两个过程可以简单写成 istringstream istr(\"1 56.7\");
cout << istr.str()<
int a;
float b;
istr>>a;
cout<
istr>>b;
cout<
system(\"pause\");
}
上例中,构造字符串流的时候,空格会成为字符串参数的内部分界,例子中对a,b对象的输入\"赋值\"操作证明了这一点,字符串的空格成为了整型数据与浮点型数据的分解点,利用分界获取的方法我们事实上完成了字符串到整型对象与浮点型对象的拆分转换过程 。
str()成员函数的使用可以让istringstream对象返回一个string字符串(例如本例中的输出操作(cout <
ostringstream同样是由一个string对象构造而来,ostringstream类向一个string插入字符。
ostringstream的构造函数原形如下:
ostringstream::ostringstream(string str);
示例代码如下:
#include
#include
#include
using namespace std;
int main()
{
ostringstream ostr;
//ostr.str(\"abc\");//如果构造的时候设置了字符串参数,那么增长操作的时候不会从结尾开始增加,而是修改原有数据,超出的部分增长
ostr.put(’d’);
ostr.put(’e’);