我尝试使用标准的c函数读取/proc/modules:
FILE *pfile;
int sz;
pfile = fopen( "/proc/modules", "r" );
fseek( pfile, 0, SEEK_END );
sz = ftell( pfile );
rewind( ftell );但我的问题是ftell给我的值是0。所以我无法读取文件的内容,因为我的长度为零。有没有其他方法可以获得我想要读取的文件的大小?
非常感谢。
发布于 2010-06-23 21:10:17
没有,没有尺码。但是,您可以阅读它的一部分,直到您到达文件末尾。
发布于 2010-06-23 21:16:48
/proc文件是在您读取它们时动态创建的,因此它们不能有大小。
我认错了。一些/proc文件确实有大小,正如adobriyan在对Sjoerd的回答的评论中所指出的那样。(这是Linux内核的名人Alexey Dobriyan吗?)
至于如何使用fgetc读取文件,这是可行的:
int c;
while ( (c = fgetc(pfile)) != EOF) {
printf("%c",c);
}而且你的程序正在分段错误,因为你正在尝试倒带ftell。
https://stackoverflow.com/questions/3101843
复制相似问题