请问关于读写proc文件问题

szclm 2005-12-26 07:56:23
我在内核中将一串信息写到/proc/info中:
static int share_read_proc_addr(char* buf, char ** start, off_t offset, int count, int* eof, void* data)
{
sprintf( buf, "%s\n","aaaaaaa:bbbbbbb:ccccccc" );
*eof = 1;
return 8*3;
}

在应用层读出这串信息:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
FILE *fp = NULL;
char szInfo[1024] = {0};
if ( (fp = fopen( "/proc/info", "r" )) == NULL )
{
printf( "open error!\n" );
return 0;
}
fread( szInfo, 24, 1, fp );
printf( "the info: %s\n", szInfo );
fclose( fp );
return 0;
}

但为什么打印出来的信息"有时"会是这样的:

NEEdddaaaaaaa:bbbbbbb:ccccccc

有时又是对的,常常在前面加了一些信息,这是为什么?!
...全文
182 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,434

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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