荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: idiot (234!), 信区: Program
标  题: Re: 请教:VC6怎样以非缓冲的方式读写文件啊?
发信站: 荔园晨风BBS站 (Sun May  2 23:08:05 2004), 站内信件

接着怎样啊?我在setbuf以后用fread还是没有直接读设备,
而是直接在系统缓存里取数据啊。我的意思是第一次read
时,系统向设备发送一个read命令,第二次read相同的内
容的时候,还要向设备再发一个read命令,尽管系统缓存
里已经有这部分内容,可以做到的吗?

另外read()这个函数怎样用的啊?我在msdn里找不到这个
函数啊,在那个头文件里定义的?谢谢。

【 在 jjksam (ramdisk_size=32768) 的大作中提到: 】
: 你用什么方法读的?
: 如果用Standard I/O Library的函数, 可以用
: FILE *fp;
: fp = fopen("test.txt", "r");
: if(fp == NULL)
: {
:   printf("can't open file test.txt\n");
:   exit(0);
: }
: setbuf(fd,NULL);
: 接着就可以使用无缓存的IO了.
: 把缓存置为0, 即unbuffered
: 或者直接用read(), write().
: 【 在 idiot (234!) 的大作中提到: 】
: : windows下读了文件以后,文件的内容是不是在windows的
: : 缓存里面阿?如果这个时候再读同一个地方的内容,windows
: : 就不会再向设备发送读命令了,而是直接返回缓存的内容。
: : 是这样吗?如果我不想要缓存的内容,而要直接读取设备
: : 的内容,要调用哪些函数来读啊?谢谢。


--
╭⌒╮¤╭ ╭ ⌒╮╰ ╰---╯别说我傻,我只是装傻~~纵有千年铁门槛,终须一个土馒头--

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 61.144.235.39]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店