首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

内核态下 怎么从文本文档中一行一行获取数据

2012-02-04 
内核态下 如何从文本文档中一行一行获取数据之前是将文本文档中的数据一次性读入字符串中,如何整行获取数

内核态下 如何从文本文档中一行一行获取数据
之前是将文本文档中的数据一次性读入字符串中,如何整行获取数据呢?

[解决办法]
每次遇到换行符,就处理呗。
然后读入下一行。
[解决办法]
fgets
[解决办法]

探讨

引用:
fgets

内核态下也是用这个读取吗?

[解决办法]
探讨
时间不允许啊

[解决办法]
一般来说是不推荐在内核里面直接操作文件。
操作文件在用户程序做比较好吧,
你是用来做什么的,可以考虑变通一下吧
[解决办法]
探讨

大家在内核态下读写文件一般是怎么操作的

[解决办法]
再复杂的东西也是人写出来的,你理解fgets的机制自己用内核io实现一套就是了。

给fd外边套个FILE,FILE里带上个buffer。

每次fgets调用,如果buffer里还有bytes,那么直接写到用户buffer,如果没找到\n那么再read一堆bytes进buffer,继续向用户buffer写,如果用户buffer写满就停下不找\n了,直接写上\0返回。 如果找到\n了,那么立即写上\0返回。

fgets的实现你没看过么? 不就是为了减少系统调用次数么, 你希望读一行, 那么我们就读上1000B,然后去里边找\n返回给用户一行,不就是这样么。



热点排行