二进制文件读写源代码 fopen fseek fwrite
时间: 2023-05-08 19:00:05 浏览: 160
读写二进制文件源代码
3星 · 编辑精心推荐
二进制文件读写源代码主要包含三个函数:fopen、fseek和fwrite。
1. fopen函数
fopen函数用于打开文件,并返回一个指向该文件的指针。
语法:FILE *fopen(const char *filename, const char *mode);
参数说明:
- filename:文件名,可以包含文件路径。
- mode:打开文件的模式。有以下几种可用:
- "r":只读打开文件。
- "w":写入打开文件。如果文件存在,则清空文件内容;如果文件不存在,则创建文件。
- "a":追加打开文件。如果文件存在,则在文件末尾添加数据;如果文件不存在,则创建文件。
- "rb":只读打开二进制文件。
- "wb":写入打开二进制文件。如果文件存在,则清空文件内容;如果文件不存在,则创建文件。
- "ab":追加打开二进制文件。如果文件存在,则在文件末尾添加数据;如果文件不存在,则创建文件。
返回值:如果文件打开成功,则返回一个指向文件的指针;否则返回NULL。
2. fseek函数
fseek函数用于将文件指针定位到指定位置。
语法:int fseek(FILE *stream, long offset, int whence);
参数说明:
- stream:文件指针。
- offset:偏移量。正数表示向后偏移,负数表示向前偏移。
- whence:偏移起始位置。有以下三种可用:
- SEEK_SET:从文件开头开始偏移(即绝对偏移)。
- SEEK_CUR:从当前位置开始偏移(即相对偏移)。
- SEEK_END:从文件末尾开始偏移。
返回值:如果函数执行成功,则返回0;否则返回非0的值。
3. fwrite函数
fwrite函数用于将指定数据写入文件。
语法:size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
参数说明:
- ptr:数据存储的位置(即数据的首地址)。
- size:要写入的数据块大小(单位:字节)。
- count:要写入的数据块个数。
- stream:文件指针。
返回值:返回实际写入的数据块个数。如果返回值小于count,则表示出现了写入错误。
阅读全文