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的使用的更多相关文章

  1. 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)

    函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...

  2. Matlab 用fread、fwrite实现大文件读写

    最近在分析一个35G的大数据文件,猛一看,是不是很吓人啊,不过还好,师兄写文件的格式非常规范,读取数据来也就很方便了,主要是使用了读写文件的两个函数fread和fwrite,下面用matlab简单尝试 ...

  3. C++之函数fgetc和fputc、fgets和fputs、fread和fwrite、fscanf和fprintf用法小结

    #include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int ...

  4. C语言中的fread和fwrite

    C语言中的fread和fwrite是专门用来操作文件的方法. 1. fread负责从打开的文件指针中读取文件内容. 函数原型:size_t fread(void *p, size_t size, si ...

  5. open/fopen read/fread write/fwrite区别

    fopen /open区别 UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write这里简单的介绍一下他们的区别.1 ...

  6. fread 和 fwrite 函数用法示例以及注意事项

    1.函数功能   用来读写一个数据块. 2.一般调用形式   fread(buffer,size,count,fp);   fwrite(buffer,size,count,fp); 3.说明   ( ...

  7. 函数fgets和fputs、fread和fwrite用法小结(转)

    字符串读写函数fgets和fputs: 1.fgets()函数:原型char *fgets(char *s, int n, FILE *stream);从流中读取n-1(n默认1024)个字符之前,如 ...

  8. C++:fread、fwrite函数用法

    主要内容: fread.fwrite函数的用法 1.函数功能 用来读写一个数据块. 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,c ...

  9. fread和fwrite函数功能

    fread和fwrite函数功能   用来读写一个数据块. 一般调用形式   fread(buffer,size,count,fp);   fwrite(buffer,size,count,fp); ...

随机推荐

  1. Solidity 中文文档 —— 第一章:Introduction to Smart Contracts

    第一章:智能合约简介 粗略地翻译了 Ethereum 的智能合约开发语言的文档:Solidity.欢迎转载,注明出处. 有任何问题请联系我,本人微信:wx1076869692,更多详情见文末. 我是 ...

  2. js和jquery通过this获取html标签中的属性值

    <html> <head> <script type="text/javascript" src="jquery-1.10.2.min.js ...

  3. C#初学者们,请离代码生成器远点!!!

    在程序开发的世界里,各路前辈们为了提高所谓的编码速度,搞出了各式各样的代码生成器,来避免所谓的重复的人为机械地粘贴和复制代码,以此来提高生产力. 早几年前,我可能会认为这样的做法真得有用,特别是在编码 ...

  4. 【转】adb操作命令详解及大全

    adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.a ...

  5. python网络数据采集(伴奏曲)

    这里是前章,我们做一下预备.之前太多事情没能写博客~..             (此博客只适合python3x,python2x请自行更改代码) 首先你要有bs4模块 windows下安装:pip3 ...

  6. msfvenom向apk注入payload

    首先安装apt-get install apkinjector 这个东西,msfvenom重新组装apk的时候会自动调用 msfvenom -x /路径/apk android/meterpreter ...

  7. JavaScript中常用的正则表达式日常整理(全)

    //校验是否全由数字组成 ? 1 2 3 4 5 6 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) retu ...

  8. sql针对某一字段去重,并且保留其他字段

    今天客户提了一个小需求,希望我能提供一条sql语句,帮助他对数据中 _field 这个字段的值去重,并且保留其他字段的数据.第一反应是select distinct,但这种语句在对某个字段去重时,无法 ...

  9. [国嵌攻略][054][NandFlash驱动设计_写]

    Nand Flash支持按页写和随机写两种方式,在下面实现的是按页写.闪存在写数据时,只能写入1,不能写入0,所以写函数必须和擦除函数一起使用,并且擦除函数是按块擦除. /************** ...

  10. PHP 常用的header头部定义汇总

    http://www.jb51.net/article/68159.htm