博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助 

我的linux学习日志

从这里开始掌握linux
sky3010.cublog.cn
关于作者  
姓名:sandy
年龄:24
位置:江苏无锡
个性介绍:据说回到古代,我这种人可以做个侠女。

我的分类  




好用的fgets()函数--逐行读取指定文件

最近的这两周都在试图实现bridge的statistics功能,到昨天为止终于有了一点进展。
通过在源码里面新增了getBridge()的实现函数以后,就可以通过命令 iwpriv ath0 getbridge macaddr 获取加入了mac地址的bridge的信息了.
现在要做的事情是怎样把这一信息显示到web页面上,我的思路是先把命令输出的信息保存到文件,然后在webcgi中读取对应的文件,将信息显示到页面上。

昨天没有实现将信息保存到文件,原因还在查。今天主要是要实现将文件信息显示到页面上,托fgets()函数的福,现在已经基本实现了。

fgets() -- 读取文件的一行(摘自儒雅的百度空间:http://hi.baidu.com/zengzhaonong/blog/item/16961624a890962fd5074268.html)

#include <stdio.h>

int main(int argc, char **argv)
{
    if (argc != 2) {
        printf("Please input filename\n");
        return -1;
    }

    char * filename = argv[1];
    FILE *fp = fopen(filename, "rw");

    char buf[100];
    int i = 1;
    while (fgets(buf, 100, fp) != NULL ) {
        printf("%d %s", i++, buf);
    }
}



fgets()
--------------------------------------------
char *fgets(char *s, int size, FILE *stream);
s      是保存读取内容的缓冲区
size   是缓冲区大小
stream 是一个FILE指针

fgets()函数
    读取到它遇到的第一个换行符;
    或者读取到比缓冲区的最大长度少一个字符;
    或者读到文件末尾。

如果fgets()函数在达到缓冲区最大数目之前读完了一整行,它将在字符串的空字符之前添加一个换行符以标识一行结束。


 发表于: 2008-01-08,修改于: 2008-01-21 12:40
 已浏览555次,有评论4条
推荐 投诉

  网友评论
  fengchen27 时间:2008-01-20 15:43:04 IP地址:59.60.60.★
我怎么多看不来
可以教我吗???

  sky3010 时间:2008-01-21 12:42:19 IP地址:61.132.84.★
上次的排版有问题,比较乱,现在应该比较容易看懂了,不好意思了。

  xinke87 时间:2008-01-27 10:58:23 IP地址:202.198.70.★
呵呵  大一学c语言时就知道了

  本站网友 时间:2008-01-30 14:49:48 IP地址:58.213.213.★
ifconfig ath0 |grep HWaddr|awk {'print $5'}

QQ 103675855


  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:5.86785

京ICP证041476号