我刚开始接触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 }
则会发现运行结果是和上面一样的。
这是一般的读取,如果要处理字符串等,这样读取即可,但是如何读取数据之类的下次再写把,我是个小白,如有错误,请指出,我会改正的,谢谢.....
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!