问题描述
(注意:向半小时前阅读我上一篇文章的任何人道歉 - 我意识到我发布了错误的一半代码,实际上是后半部分给我带来了问题。所以,如果这篇文章似乎很熟悉,可能是!)
我正在尝试制作一个复制 .wav
文件的基本程序,这是我的尝试:
#include <stdio.h>
#include <stdint.h>
int main (void)
{
FILE* input = fopen("input.wav","r");
FILE* output = fopen("output.wav","w");
uint8_t header [44];
fread(header,sizeof(uint8_t),44,input);
fwrite(header,output);
int16_t body;
fread(&body,sizeof(int16_t),1,input);
fwrite(&body,output);
fclose(input);
fclose(output);
}
然而,在未能使其工作后,我查找了如何去做,显然
fread(&body,input);
fwrite(&body,output);
应该
while (fread(&body,input))
{
fwrite(&body,output);
}
为什么第一部分可以毫无问题地复制标题,而第二部分必须使用循环才能工作?在我看来,他们似乎在做同样的事情。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)