我刚开始接触c语言的时候是在大一,因为只有学好c语言,你才可以去学习Java和C++,但是大一学习的时候几乎都是在混着,前面听着还行,就是学习到指针那一章的时候,老师突然不教了,可能是因为我们的课程上完了,但是还没有讲完,后来就没有怎么学习过c了,后来一直都在学习Java,但是后来考上研究生后,选择的导师是用c和c++的,有时候老师布置的题都让用c和c++,所以每次老师在布置作业的时候,我都要在网上查好久的资料,尤其是老师布置的代码所需要的数据都是需要从文档中读取的,当时那么简单的一个读取我都不会,后来查了好久,现在终于明白了,好了,话不多说,开始进入正题。

  读取和存取几乎是程序所必用到的,但是如何读取呢,这就是一个大问题,首先我们先了解一下文件文件打开模式

  

   其实读取操作很简单,读取操作一共有两种方式,分别是按字符读取和按行读取,按字符读取顾名思义就是一次只读取一个字符,直到读取到文档的末尾,而按行读取,则是一次直接读取一行,直到最后一行,下面先从字符读取讲起把。读取就是先打开一个文件,返回一个指针指向文档开头。

   字符读取的代码如下:

   b.txt文档里内容为:   apple

              banana

              oranage

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
    FILE *fp=fopen("C:\Users\Administrator\Desktop\b.txt","r");
    char ch;
    ch=fgetc(fp);
    printf("%c",ch);
    
    fclose(fp);
    return 0;
}

运行该程序后得到的结果是:a

  则读取整个文档代码如下:

  

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main(int argc, char *argv[])
 4 {
 5     FILE *fp=fopen("C:\Users\Administrator\Desktop\b.txt","r");
 6     char ch;
 7     
 8     while((ch=fgetc(fp))!=EOF)
 9     {
10         printf("%c",ch);
11     }
12     fclose(fp);
13     return 0;
14 }

运行后结果为: apple
        banana
        orange

  下面是按照行读取数据,需要用到fgets()函数,代码如下:

  

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main(int argc, char *argv[])
 4 {
 5     FILE *fp=fopen("C:\Users\Administrator\Desktop\b.txt","r");
 6     char ch[10];
 7     
 8     while(fgets(ch,9,fp))
 9     {
10         printf("%s",ch);
11     }
12     fclose(fp);
13     return 0;
14 }

则会发现运行结果是和上面一样的。

     这是一般的读取,如果要处理字符串等,这样读取即可,但是如何读取数据之类的下次再写把,我是个小白,如有错误,请指出,我会改正的,谢谢.....

            

  

  

   

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/yyn520cyq/p/15019494.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!