文件流是以外存文件为输入输出对象的数据流。字符串流是以内存中用户定义的字符数组(字符串)为输入输出对象的。

建立输出字符串流:

ostrstream strout(c,sizeof(c));第一个参数是字符数组首元素的指针,第二个参数为指定的流缓冲区的大小(一般选与字符数组c的大小相同)

建立输入字符串流:

istrstream strin(c,sizeof(c));第一个参数是字符数组首元素的指针,第二个参数为指定的流缓冲区的大小(一般选与字符数组c的大小相同)

下面看一个例子:

在一个字符数组c中存放了10个整数,以空格相间隔,要求将它们放到整形数组中,在按大小排序,然后再存放回字符数组c中。

#include<strstream>
#include<iostream>
using namespace std;
int main()
{
char c[50]="12 34 65 -23 -32 33 61 99 321 32";
int a[10],i,j,temp;
cout<<"array c: "<<c<<endl; //显示字符数组的字符串
istrstream strin(c,sizeof(c)); //建立输入串流对象strin并与字符数组c关联
for(i=0;i<10;i++)
{
strin>>a[i]; //从字符数组c中读取10个证书赋给整型数组a
}
cout<<endl;
//冒泡排序
for(i=0;i<9;i++)
{
for(j=9;j>i;j--)
{
if(a[j]<a[j-1])
{
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
ostrstream strout(c,sizeof(c));//建立输出串流对象strout并与字符数组c关联
for(i=0;i<10;i++)
{
strout<<a[i]<<" ";
}
cout<<endl;
cout<<"array c: "<<c<<endl;
return 0;
}

输出结果:

/*
array c: 12 34 65 -23 -32 33 61 99 321 32 array c: -32 -23 12 32 33 34 61 65 99 321
*/

说明:字符数组中的空格是为了在strin读取字符串的时候,分割数字用的。

看了上面的例子,有人或许就想了(其实我一开始就这样认为=。=),我为啥要费这个劲,不直接定义一个int型的数组,这样不是更方便么?但它的意义在于我们可以通过字符串流将整数、浮点数、以及其他类型的数据等存放到字符数组中,相当于是一个万能的容器吧~

最新文章

  1. 25. vm安装redhat步骤
  2. [转]支付宝接口程序、文档及解读(ASP.NET)
  3. Travis-CI的初步了解和测试程序的进一步编写
  4. HDU 4101 Ali and Baba
  5. &lt;转载&gt;提升程序的特权(AdjustTokenPrivileges)
  6. google其他入口地址
  7. linux可重入、异步信号安全和线程安全
  8. 【C#基础】CSA控件编写秘籍
  9. 【git 问题小说说】 git add时候报错:LF will be replaced by CRLF
  10. iOS核心笔记—MapKit框架-基础
  11. 初始化css样式的原因
  12. java系统高并发解决方案(转载收藏)
  13. JavaScript基础语句
  14. Davinci DM6446开发攻略——u-boot-1.3.4移植(1)
  15. java web--DOM
  16. 动态规划——Frog Jump
  17. sqlServer 获取最新的一条数据
  18. linux和普通文本的换行问题
  19. Hadoop 1: NCDC 数据准备
  20. JDK下载与安装、 Eclipse下载与使用的总结心得_20173311118_牛明旺

热门文章

  1. IIS 高并发的相关配置
  2. Python学习之路day3-函数
  3. mysql ORM框架及SQLAlchemy
  4. codeforces 755F F. PolandBall and Gifts(贪心+多重背包)
  5. codeforces C. Pearls in a Row map的应用
  6. UVALive 3708 Graveyard(思维题)
  7. 设置SSH自动登陆(免密码,用户名)
  8. 分析 PHP升级导致系统负载过高问题(转载)
  9. UVA - 11922 Permutation Transformer (splay)
  10. 牛客网 PAT乙级(Basic Level)练习题 1023 考新郎