首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何读取procfs文件?

如何读取procfs文件?
EN

Stack Overflow用户
提问于 2010-06-23 21:07:12
回答 2查看 3.5K关注 0票数 2

我尝试使用标准的c函数读取/proc/modules:

代码语言:javascript
复制
FILE *pfile;
int sz;
pfile = fopen( "/proc/modules", "r" );
fseek( pfile, 0, SEEK_END );
sz = ftell( pfile );
rewind( ftell );

但我的问题是ftell给我的值是0。所以我无法读取文件的内容,因为我的长度为零。有没有其他方法可以获得我想要读取的文件的大小?

非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2010-06-23 21:10:17

没有,没有尺码。但是,您可以阅读它的一部分,直到您到达文件末尾。

票数 6
EN

Stack Overflow用户

发布于 2010-06-23 21:16:48

/proc文件是在您读取它们时动态创建的,因此它们不能有大小。

我认错了。一些/proc文件确实有大小,正如adobriyan在对Sjoerd的回答的评论中所指出的那样。(这是Linux内核的名人Alexey Dobriyan吗?)

至于如何使用fgetc读取文件,这是可行的:

代码语言:javascript
复制
int c;
while ( (c = fgetc(pfile)) != EOF) {
    printf("%c",c);
}

而且你的程序正在分段错误,因为你正在尝试倒带ftell。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3101843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档