Chinaunix首页 | 论坛 | 博客
  • 博客访问: 357371
  • 博文数量: 102
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 1116
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-29 16:21
文章分类

全部博文(102)

文章存档

2014年(10)

2011年(1)

2008年(2)

2007年(89)

我的朋友

分类: C/C++

2007-09-16 23:50:00

输入输出流

  头文件fstream.h

   ofstream类:文件输出流;

   ifstream类:文件输入流;

  每个输入输出流都有一个streambuf指针,可以使用流对象的rdbuf()成员函数来访问该指针。

  流定位:使用tellptellg函数来返回输出流与输入流中指针的位置。返回的streampos是一个指向longtypedef.

          使用seekpseekg来设置查询范围或位置。

  头文件:串流strstream.

        Istrstream类和ostrstream

         Ostrstream A;

         使用A.str()之后对象将冻结自己,不能再添加字符。解决办法是清理内存或者解冻。使用ostrstream对象的streambuf成员函数freeze。现在的string类和stringstream类可以替代该类。

 

  模板和包容器类

     例子:

        Template class A;

那么以后再类A中使用的类T就可以用任意类型替代。可以这样声明A

    A(int) a;

如果A中的成员函数不全是内联函数,那么在外部定义函数时,也需要在前面加上模板声明。

不但类有模板,函数也可以声明为模板函数。如:

   Template

   Void hello(T * m){}

也可以显式声明一个模板类,如:

   Template class  Hello;

阅读(1520) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~