原理
C语言文件读写的原理是,先打开文件,然后使用fread或fwrite函数读取或写入文件内容。
文件打开的方式有两种:
- 以写入模式打开文件,使用fopen()函数以"w"作为第一个参数,如果文件不存在则创建文件,如果文件已经存在则清空文件内容。
- 以读取模式打开文件,使用"r"作为第一个参数,如果文件不存在则创建文件,如果文件已经存在则打开文件进行读取。
文件打开成功后,我们就可以使用fread或fwrite函数读取或写入文件内容了。
fread函数的原型如下:
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
其中,ptr是指向要读取的数据的指针,size是每个数据项的大小,count是要读取的数据项的个数,stream是文件指针。
fwrite函数的原型如下:
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
其中,ptr是指向要写入的数据的指针,size是每个数据项的大小,count是要写入的数据项的个数,stream是文件指针。
以下是一个简单的C语言文件读写操作代码示例:
demo
#include <stdio.h>
int main() {
FILE *fp;
char filename[] = "example.txt";
char ch;
// 打开文件
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
// 读取文件内容
while ((ch = fgetc(fp)) != EOF) {
printf("%c", ch);
}
// 关闭文件
fclose(fp);
return 0;
}
在上面的代码中,我们首先定义了一个文件指针fp,并指定要读取的文件名为example.txt。然后,我们使用fopen函数打开文件,并将文件指针保存在fp变量中。如果文件打开失败,我们将输出一条错误信息并返回1。
接下来,我们使用fgetc函数逐个读取文件中的字符,并将它们输出到屏幕上。当fgetc函数返回EOF时,表示文件已经读取完毕。
最后,我们使用fclose函数关闭文件,并返回0表示程序正常结束。
需要注意的是,在实际应用中,我们应该尽可能地避免使用fopen和fclose函数,而是使用文件操作函数来完成文件的读写操作。