fread和fwrite的用法
fread和fwrite是C/C++库中常用的文件读写函数,它们分别是从文件中读取数据以及将数据写入文件的函数。fread和fwrite函数的功能是向文件中写入或者从文件中读取指定的字节数。
fread函数的调用格式是:
size_t fread( void *ptr, size_t size, size_t nmemb, FILE *stream );
其中ptr是指向一个大小为size的内存空间的指针,用来存储读取出来的数据;size是每个元素的大小,可以是char、short、int或者float等;nmemb是指定要读取元素的个数;stream是处于打开状态的文件指针,利用fopen函数来打开文件;fread函数返回值是实际读取元素的个数,当其值小于nmemb时表明读取到文件末尾了。
fwrite函数的调用格式是:
size_t fwrite( const void *ptr, size_t size, size_t nmemb, FILE *stream );
其中ptr是指向内存空间的指针,指向的内存空间中存有要写入的数据;size是每个元素的大小;nmemb是指定要写入元素的个数;stream是处于打开状态的文件指针。fwrite函数返回值也是实际写入元素的个数,当其值小于nmemb时表明写入到了文件末尾。
接下来,我们将举例说明如何使用fread和fwrite函数。首先,我们创建一个文件名为的文本文件,内容为“123456789”,这将是我们操作的文件。
接着,我们使用fopen函数来打开文件:
FILE *fp = rb+
其中,fp是指向文件的指针,“rb+”表示以可读可写的方式打开文件,如果文件不存在,则会尝试创建文件。
接着,我们使用fread函数来读取文件中的数据:
char buffer[10];
fread(buffer, 1, 10, fp);
fread和fwrite的区别
其中,buffer是存储读取数据的内存空间,1表示每个元素的大小为1字节,10表示读取10个元素。
这时,buffer中就会存储“123456789”,也就是文件中的内容。
接着,我们使用fwrite函数来写入文件:
char content[20] = 987654321
fwrite(content, 1, 10, fp);
其中,content中存储的是要写入文件的数据,1表示每个元素的大小为1字节,10表示写入10个元素。
此时,文件中的内容就变为“987654321”。
最后,我们使用fclose函数来关闭文件:
fclose(fp);
以上就是fread和fwrite的用法,这些函数能够帮助我们更加方便地读写文件,非常有用。
记住用fread读取文件,用fwrite写入文件,今后编写C/C++程序时就不会忘记这两个函数的用法和作用了!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论