在C语言中,对文件最基本的读取和写入函数是fopen、fread、fwrite和fclose函数,这些函数都在stdio.h头文件中声明。
打开文件函数fopen用于打开一个文件,它的基本语法是:
FILE *fopen(const char *filename, const char *mode);
其中,filename是文件的路径及文件名,可以是相对路径或绝对路径,mode是打开的方式。
mode有以下几种常用的方式:
示例代码1:打开一个文件以只读方式读取
#include <stdio.h>
int main()
{
FILE *fp;
char c;
fp = fopen("file.txt", "r"); // 打开文件以只读方式读取
if (fp == NULL)
{
printf("文件打开失败\n");
return 1;
}
while ((c = fgetc(fp)) != EOF) // 每次从文件中读取一个字符,直到结尾
{
printf("%c", c); // 输出读取的字符
}
fclose(fp); // 关闭文件
return 0;
}
读取文件函数fread用于从文件中读取数据,它的基本语法是:
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
其中,ptr是存储读取数据的缓冲区,size是每个元素的大小,nmemb是想要读取的元素的个数,stream是要读取的文件指针。
函数返回实际读取的元素个数,如果发生错误返回小于nmemb的数或0。
示例代码2:从文件中读取一段数据
#include <stdio.h>
int main()
{
FILE *fp;
int array[10];
int i;
fp = fopen("data.bin", "rb"); // 打开一个二进制文件以只读方式读取
if (fp == NULL)
{
printf("文件打开失败\n");
return 1;
}
fread(array, sizeof(int), 10, fp); // 从文件中读取10个整数到数组中
for (i = 0; i < 10; i++)
{
printf("%d ", array[i]); // 输出读取的数据
}
fclose(fp); // 关闭文件
return 0;
}
写入文件函数fwrite用于向文件中写入数据,它的基本语法如下:
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
其中,ptr是存储要写入的数据的缓冲区,size是每个元素的大小,nmemb是想要写入的元素的个数,stream是要写入的文件指针。
函数返回实际写入的元素个数,如果发生错误返回小于nmemb的数或0。
示例代码3:向文件中写入一段数据
#include <stdio.h>
int main()
{
FILE *fp;
int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int i;
fp = fopen("data.bin", "wb"); // 打开一个二进制文件以写方式写入
if (fp == NULL)
{
printf("文件打开失败\n");
return 1;
}
fwrite(array, sizeof(int), 10, fp); // 将数组中的数据写入文件中
fclose(fp); // 关闭文件
return 0;
}
关闭文件函数fclose用于关闭文件指针,它的基本语法如下:
int fclose(FILE *stream);
其中,stream是要关闭的文件指针。
函数返回0表示成功,非0表示失败。
综上所述,对文件的基本读取和写入函数是fopen、fread、fwrite和fclose函数,它们可以完成C语言中对文件的基本操作。
本文链接:http://task.lmcjl.com/news/14442.html