file fread 的使用

size_t fread ( void *buffer, size_t size, size_t count, FILE *stream)
;

参 数

buffer:用于接收数据的内存地址

size:要读写的字节数,单位是字节

count:要进行读写多少个size字节的数据项,每个元素是size字节.

stream:输入流

读取wav文件头的示例

struct wavhdr{
	char riff[4]; //<span style="color: rgb(102, 102, 102); font-family: verdana, sans-serif; font-size: 16px; line-height: 21px;">"RIFF"标志 </span>
	unsigned long FileSize;//<span style="color: rgb(102, 102, 102); font-family: verdana, sans-serif; font-size: 16px; line-height: 21px;">文件长度 </span>
	char wave[4];
	char fmt[4];
	unsigned long wFormatLength;
	unsigned short wFormatTag;
	unsigned short nChannels;
	unsigned long nSamplesPerSec;
	unsigned long nAvgBytesPerSec;
	unsigned short nBlockAlign;
	unsigned short wBitsPerSample;
	char data[4];
	unsigned long datasize;
};
<pre name="code" class="cpp">	FILE * pFile = NULL; 

        pFile = fopen(filepath.c_str(), "rb");
	if (pFile != NULL)
	{
		wavhdr pWav;

		fread(pWav.riff,4,1,pFile); //读取4个字节
		fread(&(pWav.FileSize),1,4,pFile);//读取1个字节

		fclose(pFile);

      }	
				
时间: 2024-10-12 14:27:49

file fread 的使用的相关文章

Linux 打开文件并写入一段字符串,同时读出对应文件的信息--fopen()/fwrite()/fread()

Linux 打开文件并写入一段字符串,同时读出对应文件的信息 在Linux中,采用C语言,使用fopen()函数打开一个文件(若不存在文件,则新建一个 如 data/test.dat),同时采用 fwrite()向其中写入相应的字符串,每次输入写入都换行,最后采用fread()读出相应的信息. 相应的代码如下:Test.c /* Test.c :create a file : Write a string to the file */ #include <stdio.h> #include &

Linux 打开文件并写入一段字符串,同一时候读出相应文件的信息--fopen()/fwrite()/fread()

Linux 打开文件并写入一段字符串.同一时候读出相应文件的信息 在Linux中.採用C语言.使用fopen()函数打开一个文件(若不存在文件,则新建一个 如 data/test.dat),同一时候採用 fwrite()向当中写入对应的字符串,每次输入写入都换行,最后採用fread()读出对应的信息. 对应的代码例如以下:Test.c /* Test.c :create a file : Write a string to the file */ #include <stdio.h> #inc

fread读入挂and普通读入挂and浮点数读入挂

fread读入挂 版本一 namespace fastIO { #define BUF_SIZE 100000 //fread -> read bool IOerror = 0; inline char nc() { static char buf[BUF_SIZE], *p1 = buf + BUF_SIZE, *pend = buf + BUF_SIZE; if(p1 == pend) { p1 = buf; pend = buf + fread(buf, 1, BUF_SIZE, stdi

mfc学生成绩录入与查询

1.声明结构体 struct Person{ char name[8]; char yuwen[8]; char math[8];}; 2.成绩录入 UpdateData(TRUE); file=fopen("test.txt","a"); Person person={0}; UpdateData(TRUE); strcpy(person.name,m_name_in);//结构体字符数组赋值 strcpy(person.yuwen,m_yuwen_in); st

skynet项目lua代码简单加密

最近在看skynet的代码,总体感觉跟 erlang很像,理念都是基于Actor模型,即万物皆Actor,Actor之间通过发送消息进行通信.(这里说的"万物"倾向于表示有能动作用,有独立行为的个体.) 不同的是,skynet使用 c 和 lua实现,这两个语言相较erlang比较流行.skynet的Actor是指skynet服务,skynet服务类似erlang进程,调度方式也有点接近,skynet启动时会初始化多个调度线程,用于同时处理多个服务,每个服务都有一定的调度次数约束,挂起

读取Wave格式语音头信息的实现

/* *================================================================= * FNAME: test.cc * DESCP: <+Brief Descripation+> * CREAT: 2015-08-18 15:39:21 * LC_AT: 2015-08-18 15:45:57 * VERNO: 1.0.4 * CNOTE: <+Latest Change+> *=======================

C语言面试及答案分析

第一部分:基本概念及其它问答题 1.关键字static的作用是什么? 这个简单的问题很少有人能回答完全.在C语言中,关键字static有三个明显的作用: 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量. 3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用. 大多

C语言经典面试题目(转的,不过写的的确好!)

第一部分:基本概念及其它问答题 1.关键字static的作用是什么? 这个简单的问题很少有人能回答完全.在C语言中,关键字static有三个明显的作用: 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量. 3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用. 大多

C语言终极面试及答案分析

http://www.cnblogs.com/Purple_Xiapei/archive/2012/05/10/2495003.html 第一部分:基本概念及其它问答题1.关键字static的作用是什么?这个简单的问题很少有人能回答完全.在C语言中,关键字static有三个明显的作用:1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量.3)