我实在受不了了!大家过来看看~~ 关于文件操作与 封装!!

earthharp 2002-07-01 11:56:43
搞了一天也没什么起色~~
大家一定要帮忙.多少分我都给!

是这样的,我要继承struct _iobuf产生File 类,从而使用this指针来作为FILE指针使用.
这样从其派生出的类通过一定转换也可以作为FILE指针使用.
本来这个程序是要做C语言文件操作函数的封装,用复合可以很轻松的实现.但是不幸啊,受到别人刁难,一定要继承_iobuf来做,并且不能使用FILE指针,只能通过类型转换.
问题就出在如何把this与文件关联~~~
大虾们,伸出援手吧!! 我平时问题不多 ,这次千万不要让我失望!!
thanks a lot@!
...全文
68 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
earthharp 2002-07-02
  • 打赏
  • 举报
回复
SystemAdministrator(没齿骆驼)
不会是让我重写io吧~
我想做的只是让对象与文件关联,后面的就好做了
  • 打赏
  • 举报
回复
IO操作就是流,从这步做起。
earthharp 2002-07-02
  • 打赏
  • 举报
回复
up
为什么没人关注~

(2002-07-04 00:20:24) 骄傲的石头
stdio里对FILE的定义是 typedef struct _iobuf{ .....}FILE;
因此可以从_iobuf派生一个FILE类封装基本的共通操作如Eof(),Close(),SetBuf()等.
然后通过public 继承派生出 CIFile类和 COFile类,分别封装输入和输出函数.然后通过virtual public 多重继承派生出CIOFile类.
这就是层次体系.
然后就是实现~
不允许定义使用FILE指针!不允许使用C++文件操作函数
earthharp 2002-07-02
  • 打赏
  • 举报
回复
呵呵,lee的方法算是不错了,不过幸亏我忽然想到了解决的方法,是完全满足他要求的~ 不用自己写文件io了, 省了不少麻烦~
呵呵,csdn的兄弟们啊, 这可不是我不给你们分! 是你们自己得不到
huzhangyou 2002-07-02
  • 打赏
  • 举报
回复
学习来了
楼上的好像说的有理
LeeMaRS 2002-07-02
  • 打赏
  • 举报
回复
呵呵,菜菜你们的老师也真是够BT的了!呵呵,有解决的办法了:
fopen等一系列标准磁盘输入输出-缓冲文件系统函数,其实都是把open等一系统系统级输入输出-非缓冲文件系统进行包装而成的.
open等一系列函数在头文件io.h中,使用的标志在fcntl.h中.

你可以用这些open等函数,模仿fopen的做法,做成类,这样就满足你老师的要求了:)

顺便说说,非缓冲文件系统的函数有:
creat open close eof lseek read write

fopen等的包装形式在the c programming language中有:)

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧