这几天做东西用到了文件的读取简单的整理了下
需要的头文件是:#include <stdio.h>
1.需要打开文件:用fopen_s(FILE ** _File,const char * _Filename,const char * _Mode);也可以用fopen函数参数类型一样,fopen_s比fopen多了些安全机制,后面的函数都可以使用 函数_s,eg:fprintf_s(FILE * _File, const char * _Format, ...);
2.写入数据到文件:fprintf(FILE * _File, const char * _Format, ...);第一个就是文件,后面的和printf的使用方法一样;
3.读取数据从文件:fgets(char * _Buf,int _MaxCount, FILE * _File);这个是得到一行数据赋给_Buf,同样取值也可以有别的方式,如:fscanf函数,它是按照一定格式读取这里我就用fgets函数
4.关闭文件:fclose(FILE * _File)
这里说明一下第一条里面最后一个参数 mode:文件打开方式
r | 以只读方式打开文件,该文件必须存在。 |
r+ | 以可读写方式打开文件,该文件必须存在。 |
rb+ | 读写打开一个二进制文件,允许读数据。 |
rt+ | 读写打开一个文本文件,允许读和写。 |
w | 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 |
w+ | 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 |
a | 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留) |
a+ | 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留) |
wb | 只写打开或新建一个二进制文件;只允许写数据。 |
wb+ | 读写打开或建立一个二进制文件,允许读和写。 |
wt+ | 读写打开或着建立一个文本文件;允许读写。 |
at+ | 读写打开一个文本文件,允许读或在文本末追加数据。 |
ab+ | 读写打开一个二进制文件,允许读或在文件末追加数据。 |
下面是代码实现,文章写的有点乱,请诸多包含:
1 #include <stdio.h> 2 int main(int argc, char** argv) 3 { 4 FILE * pf = NULL; 5 char sz[256] = {0}; 6 //test.txt是编译后的当前目录里的一个文件 7 fopen_s(&pf,"test.txt","rt+"); 8 9 fprintf_s(pf,"hello world!\r\n"); 10 11 while (fgets(sz,256,pf) != NULL) 12 { 13 printf("%s\r\n",sz); 14 } 15 }
这个是简单的读写没有加逻辑判断,使用的时候可以加上各种判断处理等
原文:http://www.cnblogs.com/kindom/p/3893541.html