程序员术与道:术—C语言对文件进行处理,文件处理的基本操作

各种编程语言都实现了文件的基本操作,提供了对应的接口,本篇文章先为你介绍C语言对文件进行处理和文件处理的基本操作。主要从以下几个方面进行介绍:

读取文件

写入文件

重命名文件

读取目录

读取目录下的文件

创建目录

在创建目录下写入文件

不同文件格式之间进行转换

1.打开文件 --> 关闭文件。

打开文件:

//filename 是字符串,用来命名文件,mode是访问模式
FILE *fopen( const char * filename, const char * mode );
//二进制文件,使用下面的访问模式关键字
//"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"

以下为各访问模式及参数的意义:

r 打开一个已有的文本文件,允许读取文件。

w 打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件,程序会从文件的开头写入内容。如果文件存在,则该文件会被截断为零长度,重新写入。

a 打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件,会在已有的文件内容中追加内容。

r+ 打开一个文本文件,允许读写文件。

w+ 打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度,如果文件不存在,则会创建一个新文件。

a+ 打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件。读取会从文件的开头开始,写入则只能是追加模式。

2.关闭文件

//用于关闭文件
int fclose( FILE *fp );

3.写入文件

//把参数 c 的字符值写入到 fp 所指向的输出流中。如果写入成功,它会返回写入的字符,
//如果发生错误,则会返回 EOF
int fputc( int c, FILE *fp );
//把字符串 s 写入到 fp 所指向的输出流中。如果写入成功,它会返回一个非负值,
//如果发生错误,则会返回 EOF
int fputs( const char *s, FILE *fp );
//将格式化字符串写入到文件中
int fprintf(FILE *fp,const char *format, ...);

4.读取文件

//读取单个字符,返回值是读取的字符,如果发生错误则返回 EOF
int fgetc( FILE * fp );
//函数 fgets() 从 fp 所指向的输入流中读取 n - 1 个字符。它会把读取的字符串复制到缓冲区 buf,
//并在最后追加一个 null 字符来终止字符串。
char *fgets( char *buf, int n, FILE *fp );
//在遇到第一个空格字符时,会停止读取
int fscanf(FILE *fp, const char *format, ...);

5.二进制I/O函数

//存储块的读写 - 通常是数组或结构体
size_t fread(void *ptr, size_t size_of_elements,
size_t number_of_elements, FILE *a_file);

size_t fwrite(const void *ptr, size_t size_of_elements,
size_t number_of_elements, FILE *a_file);

6.目录操作

int mkdir(const char *pathname, mode_t mode);
//打开一个目录
DIR * opendir(const char* path);
//读取dir_handle目录下的目录项,如果有未读取的目录项,返回目录项,否则返回NULL。
struct dirent * readdir(DIR * dir_handle);
//关闭目录
int closedir(DIR * dir_handle);

7.删除文件

//filename为要删除的文件名,可以为一目录。如果参数filename 为一文件,则调用unlink()处理;
//若参数filename 为一目录,则调用rmdir()来处理。
int remove(char * filename);

以上为我总结的C语言对文件进行处理,文件处理的基本操作,如果对你有用那就收藏备用啦。后续会更新C sharp、Java、Python对文件的基本操作。有兴趣的关注我,为你带来更多干货。

原文链接:,转发请注明来源!