目录
wav文件的采样数据提取并保存
首先参考了一段wav文件转txt的代码,有用到的相关函数有fopen,fread,fseek,fclose,ftell等。其中三个函数前面c语言解析wav文件有讲解,下面讲解一下新遇到的几个函数。
1、函数名:fseek函数
头文件:#include<stdio.h>
功能:把与fp有关的文件位置指针放到一个指定位置。
格式: int fseek(FILE *stream, long offset, int fromwhere);
范例一:fseek(fp, 0L, SEEK_END);
解释:文件指针定位到文件末尾,偏移0个字节
范例二: fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET);
解释:其作用是将位置指针移到离文件头50个字节处。
PS:
其中,“位移量”是long型数据,它表示位置指针相对于“起始点”移动的字节数。
如果位移量是一个正数,表示从“起始点”开始往文件尾方向移动;
如果位移量是一个负数,则表示从“起始点”开始往文件头方向移动。
“起始点”不能任意设定,它只能是在stdio.h中定义的三个符号常量之一:
注意:
fseek函数的文件指针,应该为已经打开的文件。如果没有打开的文件,那么将会出现错误。
起始点 | 对应的数字 | 代表的文件位置 |
SEEK_SET | 0 | 文件开头 |
SEEK_CUR | 1 | 文件当前位置 |
SEEK_END | 2 | 文件末尾 |