将mp3文件的数据复制到另一个文件。 13 C

时间:2016-05-15 21:03:54

标签: c file copy mp3

我尝试将数据从mp3文件复制到另一个文件。

但我从文件中得到的所有章程都是'-1'ASCCI。

我按“rb”模式打开scanFile。

这是代码:

// scannedFile = music.mp3, lastByte = 1000, firstByte = 3
char* data = calloc(lastByte - firstByte + 2, sizeof(char));
for (i = 0; i <= lastByte - firstByte; i++)
{
    c = fgetc(scannedFile);
    if (c == 0) // if the char is 0 ( END OF STRING ) change it for another charter.
        c = 1;
    data[i] = c;
}

2 个答案:

答案 0 :(得分:1)

看看这里:fgetc

它表示返回可以是当前字符或EOF ,字面意思是-1:

  

成功时,返回字符读取(提升为int值)。   返回类型为int以适应特殊值EOF,表示失败:   如果位置指示器位于文件末尾,则该函数返回EOF并设置流的eof指示符(feof)。   如果发生其他一些读取错误,该函数也会返回EOF,但会设置其错误指示符(ferror)。

因此,您应该查看流的EOF指示符以及答案的错误指示符(ferror)。

答案 1 :(得分:0)

好的,我解决了我的问题,我在fseek遇到了问题。 感谢所有人试图提供帮助:)