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等函数。使用这些函数,可以方便地对文件进行读写操作。