c语言文件读写怎么操作

1. 文件读写概述

文件读写是计算机程序处理数据的基本操作之一。相比于将数据保存在内存中,将数据保存在文件中可以实现数据的长期保存和共享,而且读写文件的方式不会受到程序运行周期的影响。在 C 语言中,文件读写操作主要由标准 IO 库提供支持。

标准 IO 库提供了多种用于文件读写的函数,如 fopen、fread、fwrite、fclose 等函数,可以实现文件的打开、读写、关闭等操作。

2. 文件打开

在使用文件读写函数操作文件之前,我们需要先将文件打开。在 C 语言中,使用 fopen 函数可以打开文件。

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

其中,filename 参数为需要打开的文件名,mode 参数为文件打开模式。

2.1 文件打开模式

文件打开模式指定了文件的打开方式,如是只读、只写、追加等。下面是 fopen 函数支持的若干文件打开模式:

"r":只读方式打开文件。该文件必须事先存在,否则 fopen 函数将返回 NULL。

"w":只写方式打开文件。如果该文件存在,其内容将被清空;如果该文件不存在,则创建该文件。

"a":以追加方式打开文件。如果该文件不存在,则创建该文件;如果该文件已经存在,则将新数据追加到文件末尾。

"rb":以二进制只读方式打开文件。

更多文件打开模式可以查看官方文档。

2.2 文件打开示例

下面是以只读方式打开文件的示例代码:

#include<stdio.h>

int main() {

FILE *fp;

fp = fopen("example.txt", "r");

if(fp == NULL) {

printf("Failed to open the file.");

}

fclose(fp);

return 0;

}

该程序采用只读方式打开 example.txt 文件,并在程序末尾使用 fclose 函数关闭文件。

3. 文件读写

3.1 文件读取

fread 函数用于从文件中读取数据。下面是该函数的原型:

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);

该函数从 stream 文件中读取 count 个元素,每个元素大小为 size,将它们存储在内存中以 ptr 指向的位置。函数返回实际读取元素个数。

3.2 文件写入

fwrite 函数用于向文件中写入数据。下面是该函数的原型:

size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);

该函数将 ptr 所指向的数据写入 stream 文件,其中每个元素大小为 size,写入元素个数为 count,函数返回实际写入元素个数。

4. 文件关闭

使用文件读写函数完毕后,需要使用 fclose 函数关闭文件。

int fclose(FILE *stream);

4.1 文件关闭示例

下面是读取 example.txt 文件内容并打印的示例代码:

#include<stdio.h>

int main() {

FILE *fp;

char str[100];

fp = fopen("example.txt", "r");

if(fp == NULL) {

printf("Failed to open the file.");

return -1;

}

fread(str, 1, 100, fp);

printf("%s", str);

fclose(fp);

return 0;

}

该程序打开 example.txt 文件并读取其中的内容,最后使用 fclose 函数关闭文件。

5. 总结

文件读写是 C 语言中常用的操作之一,标准 IO 库提供了多种用于文件读写的函数。文件读写的操作步骤包括文件打开、读写、关闭等过程。需要注意的是,在读写文件的过程中,需要进行错误处理,以防止程序出错。

后端开发标签