首页 > 代码库 > C语言实现对文本文件的操作

C语言实现对文本文件的操作

这几天做东西用到了文件的读取简单的整理了下

需要的头文件是:#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 }    

这个是简单的读写没有加逻辑判断,使用的时候可以加上各种判断处理等