fwrite函数是C语言中一个很常用的文件输入输出函数,在文件中写入数据时经常会用到。fwrite函数使用起来很简单,本文将详细讲解如何使用fwrite函数在文件中写入数据。
一、fwrite函数的声明
fwrite函数是C语言中的一个标准库函数,其前置声明如下:
size_t fwrite(const void *ptr, size_t size, size_t count, FILE * stream);
该函数用于将数据写入一个文件或流。它的第一个参数是指向要写入的数据的指针,第二个参数是每个元素的大小,第三个参数是要写入的元素数量,第四个参数是指向要写入的文件或流的指针。
二、使用fwrite函数写入数据到文件中
在使用fwrite函数之前,我们需要打开文件以获取一个文件指针。文件可以以二进制和文本两种形式打开。下面我们先以二进制形式打开一个文件:
#include
#include
int main()
{
FILE *fp;
int i;
fp = fopen("data.dat", "wb");
if( fp == NULL )
{
printf("打开文件失败!\n");
exit(1);
}
for (i=0; i<10; i++)
{
fwrite(&i, sizeof(int), 1, fp);
}
fclose(fp);
return 0;
}
在以上代码中,我们使用fopen函数打开“data.dat”文件。如果文件打开成功,将得到一个指向该文件的指针。接下来我们定义一个整型变量i,使用循环将0-9的数字写入文件中。
在每次调用fwrite函数时,我们将整型变量i的地址作为第一个参数传递给函数,这样函数就能够找到要写入文件的数据了。第二个参数是整型变量的大小,即sizeof(int),第三个参数是要写入的元素数量,即1。第四个参数是文件指针,即fp。
最后,使用fclose函数关闭文件指针,确保文件被正确地写入磁盘中。其他数据类型的写入方式类似。
三、写入字符串到文件中
除了可以将基本数据类型写入文件中,还可以将字符串写入到文件中。下面是一个写入字符串的示例代码:
#include
#include
#include
int main()
{
FILE *fp;
fp = fopen("data.txt", "w");
if( fp == NULL )
{
printf("打开文件失败!\n");
exit(1);
}
const char *str = "我是一个字符串";
fwrite(str, strlen(str), 1, fp);
fclose(fp);
return 0;
}
在以上代码中,我们使用fopen函数打开“data.txt”文件,如果文件打开成功,将得到一个指向该文件的指针。接下来我们定义一个const char类型的指针str,使用fwrite函数将字符串写入到文件中。
在每次调用fwrite函数时,我们将字符串的地址作为第一个参数传递给函数,这样函数就能够找到要写入文件的数据了。第二个参数是字符串的大小,即strlen(str),第三个参数是要写入的元素数量,即1。第四个参数是文件指针,即fp。
最后,使用fclose函数关闭文件指针,确保文件被正确地写入磁盘中。
四、fwrite函数的返回值
fwrite函数的返回值是写入文件中的元素数量。在前面的示例代码中,我们每次都只写入了一个元素,返回值也都是1。如果写入失败,返回值会比要写入的元素数量小。
如果要检查写入文件时是否出现了错误,可以使用ferror函数。如果函数返回值为非0,则表示写入时出现了错误。
五、总结
本文主要介绍了如何使用fwrite函数将数据写入文件中。fwrite函数使用起来非常简单,只需要传递要写入的数据、数据的大小和文件指针等参数即可。使用fwrite函数可以快速地将数据写入到文件中,非常方便。