c语言文件读写操作有哪些?

1. 概述

c语言中文件读写操作是常见的操作,它允许程序从文件中读取数据,或将数据写入到文件中。在c语言中,要使用标准库中的文件操作函数,比如fopen、fclose、fread、fwrite等函数。

2. 打开/关闭文件

2.1 fopen函数

fopen函数是打开文件的函数,它的原型如下:

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

其中,filename是要打开的文件名,mode是文件打开的模式。如果成功打开文件,fopen函数返回一个文件指针,否则返回NULL。

常用的文件打开模式有:

"r": 以只读方式打开文件。如果文件不存在,则返回NULL。

"w": 以写的方式打开文件。如果文件不存在,则创建文件;如果文件存在,则清空文件内容。

"a": 以追加方式打开文件。如果文件不存在,则创建文件。如果文件存在,则在文件末尾添加数据。

2.2 fclose函数

fclose函数是关闭文件的函数,它的原型如下:

int fclose(FILE *stream);

其中,stream是文件指针。如果成功关闭文件,fclose函数返回0;如果失败,返回EOF。

3. 读取文件

在打开文件之后,可以使用fread函数从文件中读取数据。

3.1 fread函数

fread函数的原型如下:

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

其中,ptr是指向存储读取数据的缓冲区的指针;size是每个数据项的大小;count是要读取的数据项数;stream是文件指针。

fread函数返回实际读取的数据项数。

3.2 示例

下面是一个从文件中读取数据的示例:

#include <stdio.h>

int main()

{

FILE *fp;

char c[1000];

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

if (fp == NULL) {

printf("文件打开失败!");

return -1;

}

fread(c, sizeof(char), 1000, fp);

printf("%s\n", c);

fclose(fp);

return 0;

}

这段代码打开文件"file.txt",并读取其中的内容,并输出。

4. 写入文件

在打开文件之后,可以使用fwrite函数向文件中写入数据。

4.1 fwrite函数

fwrite函数的原型如下:

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

其中,ptr是指向要写入的数据的指针;size是每个数据项的大小;count是要写入的数据项数;stream是文件指针。

fwrite函数返回实际写入的数据项数。

4.2 示例

下面是一个向文件中写入数据的示例:

#include <stdio.h>

int main()

{

FILE *fp;

fp = fopen("file.txt", "w");

if (fp == NULL) {

printf("文件打开失败!");

return -1;

}

char str[] = "Hello World!";

fwrite(str, sizeof(char), sizeof(str), fp);

fclose(fp);

return 0;

}

这段代码打开文件"file.txt",并将字符串"Hello World!"写入到文件中。

5. 总结

c语言中文件读写操作是常见的操作,在实际编程中有着广泛的应用。要进行文件读写操作,需要使用标准库中的函数,如fopen、fclose、fread、fwrite等函数。使用这些函数,可以方便地对文件进行读写操作。

后端开发标签