fread和fwrite的使用
fread和fwrite的使用
fread和fwrite一般用于二进制文件的输入/输出,要不然你打开fwrite写入的文件就是乱码。
1.fread和fwrite函数
数据块I/O fread与fwrite
函数原型:
size_t fread(void *buffer, size_t size, size_t, count, FILE *pf)
size_t fwrite(void *buffer, size_t size, size_t count, FILE *pf)
功能:读写数据块(将内存的内容直接写入磁盘)
返回值:成功,返回读/写的个数,出错或文件尾,返回0.
参数含义:
buffer 从pf中读取到buffer/将buffer中的写入到pf中去。
size 每个要读/写的数据块的大小。
count 要读/写的数据块的个数
fp 要读/写的文件指针
typedef unsigned size_t
2. 文本与二进制文件之间的区别是\n和\r之间的转换。
3.例子
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <stdlib.h> void main1()
{
int a[];
printf("%p", a);
for (int i = ; i < ;i++)
{
;
printf("\n%d", a[i] = i);
} FILE *pf = fopen("C:\\1.bin", "r"); int num=fwrite(a, sizeof(int), , pf);//第一个内存首地址,第二个元素大小,第三个个数
printf("fwrite return =%d", num);//返回写入成功的个数.失败返回0
fclose(pf); system("pause"); }
void write()
{
int a[]; for (int i = ; i < ; i++)
{
printf("\n%d", a[i] = i);
}
FILE *pf = fopen("C:\\1.bin", "wb");
int num = fwrite(a, sizeof(int), , pf);//第一个内存首地址,第二个元素大小,第三个个数
printf("fwrite return =%d", num);//返回写入成功的个数.失败返回0
fclose(pf);
} void read()
{
void *p = malloc();
printf("%p\n", p);
FILE *pf = fopen("C:\\1.bin", "rb");
int num= fread(p, , , pf);//第一个内存首地址,第二个元素大小,第三个个数
printf("fread return =%d", num);//返回读取成功个数
fclose(pf);
} void main()
{
read(); system("pause");
}
fread和fwrite的使用的更多相关文章
- 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)
函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...
- Matlab 用fread、fwrite实现大文件读写
最近在分析一个35G的大数据文件,猛一看,是不是很吓人啊,不过还好,师兄写文件的格式非常规范,读取数据来也就很方便了,主要是使用了读写文件的两个函数fread和fwrite,下面用matlab简单尝试 ...
- C++之函数fgetc和fputc、fgets和fputs、fread和fwrite、fscanf和fprintf用法小结
#include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int ...
- C语言中的fread和fwrite
C语言中的fread和fwrite是专门用来操作文件的方法. 1. fread负责从打开的文件指针中读取文件内容. 函数原型:size_t fread(void *p, size_t size, si ...
- open/fopen read/fread write/fwrite区别
fopen /open区别 UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write这里简单的介绍一下他们的区别.1 ...
- fread 和 fwrite 函数用法示例以及注意事项
1.函数功能 用来读写一个数据块. 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 3.说明 ( ...
- 函数fgets和fputs、fread和fwrite用法小结(转)
字符串读写函数fgets和fputs: 1.fgets()函数:原型char *fgets(char *s, int n, FILE *stream);从流中读取n-1(n默认1024)个字符之前,如 ...
- C++:fread、fwrite函数用法
主要内容: fread.fwrite函数的用法 1.函数功能 用来读写一个数据块. 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,c ...
- fread和fwrite函数功能
fread和fwrite函数功能 用来读写一个数据块. 一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); ...
随机推荐
- 类Unix平台程序调试
GNU Binutils GNU Binutils 建立main.c文件,内容如下: #include <stdio.h> void main() { int a = 5/0; } 编译m ...
- Array对象的方法详情
题外话:从事前端开发有很长一段时间了,一直在不断的扩充各种框架的学习,总觉得要学的东西好多,但是技能并没有得到很大的提升,后发现自己一味去追求的它的广度,并没用去深究其深度,所以决定打算从零开始,从最 ...
- set排序(个人模版)
set排序: #include<stdio.h> #include<string.h> #include<iostream> #include<set> ...
- [51nod1676]无向图同构
如果一个无向图重标号后与另一个无向图完全一致(即对于任意两点,他们之间的边在两个图中都存在或都不存在),则称两个无向图同构. 给定两个n个点m条边的无向图,判定两个无向图是否同构.不超过20组数据,n ...
- tree(并查集)
tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submis ...
- ubuntu11.0静态IP地址配置
1. 静态IP地址配置 配置文件路径:/etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet ...
- Android初学:Gradle 'HelloWorld' project refresh failed
Gradle 'HelloWorld' project refresh failed Error:Failed to open zip file.Gradle's dependency cache m ...
- CXF之"@XmlType.name 和 @XmlType.namespace 为类分配不同的名称"错误
CXF 的 wsdl2java.bat 生产的代码,拷贝到目录,进行调研 web service接口时,抛出错误: Exception in thread "main" javax ...
- HDU 4763 Theme Section
题目: It's time for music! A lot of popular musicians are invited to join us in the music festival. Ea ...
- Arrays类详解
数组是数据结构中最简单的一种类型.在平常的使用上也比较多见.今天就来总结一下数组在使用过程中的一些心得 1.java中包装数组的一些基本用法的抽象类 java.util.Arrays.这个类中包含操 ...