打开文件

在C中,处理文件需要使用标准库中的文件操作函数,其中最基本的就是打开文件。使用fopen()函数可以打开一个文件,该函数的原型如下:

FILE *fopen(const char *filename, const char *mode);

其中,filename是文件名,mode是打开文件的模式。mode可以是以下字符串之一:

  • "r": 以只读方式打开文件,文件必须存在。
  • "w": 以写入方式打开文件,如果文件不存在则创建文件,如果文件已存在则清空文件内容。
  • "a": 以追加方式打开文件,如果文件不存在则创建文件。
  • "r+": 以读写方式打开文件,文件必须存在。
  • "w+": 以读写方式打开文件,如果文件不存在则创建文件,如果文件已存在则清空文件内容。
  • "a+": 以读写方式打开文件,如果文件不存在则创建文件。

写入文件

打开文件后可以通过fprintf()函数向文件中写入数据,该函数的原型如下:

int fprintf(FILE *stream, const char *format, ...);

其中,stream是已打开的文件指针,format是格式化字符串,后面可以跟多个参数。例如,向文件中写入一个整数:

int num = 10; fprintf(fp, "The number is: %d\n", num);

在这个例子中,fp是文件指针,%d是格式化字符串。如果要向文件中写入多个数据,可以使用多个格式化字符串。fprintf()函数返回成功写入的字符数。

读取文件

使用fscanf()函数可以从文件中读取数据,该函数的原型如下:

int fscanf(FILE *stream, const char *format, ...);

其中,stream是已打开的文件指针,format是格式化字符串,后面可以跟多个参数。例如,从文件中读取一个整数:

int num; fscanf(fp, "%d", &num);

在这个例子中,fp是文件指针,%d是格式化字符串,&num表示把读取到的整数存储在num变量中。如果要从文件中读取多个数据,可以使用多个格式化字符串。fscanf()函数返回成功读取的参数个数。