C++: I/O流详解——串流

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++: I/O流详解——串流相关的知识,希望对你有一定的参考价值。

一、串流

串流类是 ios 中的派生类

C++的串流对象可以连接string对象或字符串

串流提取数据时对字符串按变量类型解释;插入数据时把类型 数据转换成字符串

串流I/O具有格式化功能

例:

 1 #include <iostream>
 2 #include <sstream>
 3 #include <string>
 4 #include <strstream>
 5 
 6 using namespace std;
 7 //?什么鬼? 
 8 /*从输入串流对象提取数据 
 9 int main(){
10     string testStr("Input test 256*0.5");
11     string s1, s2, s3;
12     double x, y;
13     istringstream input(testStr); //用string对象构造串流对象
14     input>> s1>> s2>> x>> s3>> y;
15     cout<< s1<< ends<< s2<< ends<< x<< s3<< y<< "="<< x*y<< endl;
16     return 0;
17 }
18 */
19 
20 //向输出串流对象插入数据
21 /*
22 int main(){
23     ostringstream Output;
24     double x, y;
25     cout<< "Input x:";
26     cin>> x;
27     cout<< "Input y:";
28     cin>> y;
29     Output<<x<<"*"<<y<<"="<<x*y<<endl;
30     cout<<Output.str();
31     return 0;
32 } 
33 */
34 
35 //向输出串流对象插入数据
36 int main(){
37     char buf[80];
38     ostrstream Output(buf, sizeof(buf));//对Output的数据成员初始化 
39     double x, y;
40         cout<< "Input x:";
41     cin>> x;
42     cout<< "Input y:";
43     cin>> y;
44     Output<<x<<"*"<<y<<"="<<x*y<<endl;
45     cout<<Output.str();
46     return 0;
47 } 

 

以上是关于C++: I/O流详解——串流的主要内容,如果未能解决你的问题,请参考以下文章

C++:字符串流有啥好处?

C++学习50 对字符串流的读写

Java I/O流详解与应用

转载C++中替代sprintf的std::ostringstream输出流详解

cin与cout详解

std::ostringstream输出流详解