(本文为博闻网版权所有,转载必须注明出处。)

若要读取一个文件,请使用r模式打开。一般来说,读取文件时最好不要用fscanf,因为,除非文件的数据格式非常标准,否则fscanf并不能准确地读取数据。请换用fgets一次读入一行,然后分析提取所需数据。

下面的代码演示了一个读入文件并在屏幕上显示其内容的过程:

#include 

int main()
{
    FILE *f;
    char s[1000];

    f=fopen("infile","r");
    if (!f)
        return 1;
    while (fgets(s,1000,f)!=NULL)
        printf("%s",s);
    fclose(f);
    return 0;
}

fget函数在遇到文件结束符eof时会返回NULL。程序依次读入各行(本例中最长1,000个字符)并将其在标准输出设备上显示。注意,printf语句的格式字符串中并不包含\n ,这是因为fgets会在它读入的每一行末尾加上一个\n 。所以,若某行的长度超出了限制(由fgets的第二个参数指定),您会发现它将不能被完整地显示。

C 常见错误
  • 不要把fclose误输入成close。close函数是存在的,所以误输入成close也能通过编译。如果只是打开或关闭几个文件的话,程序甚至还表现为正常工作的样子。但是,如果是在一个循环中打开和关闭文件的话,程序最后就会因耗尽可用的文件句柄或内存空间而崩溃,因为close没有正确地将文件关闭。




 打印  电子邮件  反馈  引用
编辑推荐
软件狗是什么?
软件狗(Software Dog)是一种计算机软件的加密方式,是“硬件加密锁”的
间谍软件工作原理
您的计算机是否曾变得非常慢,即使打开Word处理器也会占用很长时间,间谍软件可能
什么是路由算法?
路由器是管理网络流量和发送数据包的,但是它是如何决定数据包发送的呢?通过本文,博
Gnutella文件共...
Napster在巅峰时期或许是有史以来最受欢迎的网站。紧随其后的文件共享体系架构
主页 |  公司信息 |  广告服务 |  招聘信息 |  隐私 |  联系我们 |  帮助 |  条款和条件