读取一个 wav 文件 returns 0 字节
Reading a wav file returns 0 bytes
所以我正在读取 .wav 文件,但它 returns 0 个字节。
FILE *pFile = fopen("file.wav", "r");
if (pFile == nullptr)
{
cout << "Unable to open wave file";
return 1;
}
long lSize = ftell (pFile);
char *p = new char[lSize];
size_t bytesRead = fread(p, 1, lSize, pFile); // 0 bytes ```
获取文件位置前需要先查找到结尾,然后倒带:
FILE *pFile = fopen("file.wav", "rb");
if (pFile == nullptr)
{
cout << "Unable to open wave file";
return 1;
}
fseek(pFile, 0, SEEK_END); // <----- ADD THIS -------<
long lSize = ftell (pFile);
rewind(pFile); // <----- AND THIS -------<
char *p = new char[lSize];
size_t bytesRead = fread(p, 1, lSize, pFile);
确保以 read-binary 打开。 "rb" -- 查看 fopen
方法。
所以我正在读取 .wav 文件,但它 returns 0 个字节。
FILE *pFile = fopen("file.wav", "r");
if (pFile == nullptr)
{
cout << "Unable to open wave file";
return 1;
}
long lSize = ftell (pFile);
char *p = new char[lSize];
size_t bytesRead = fread(p, 1, lSize, pFile); // 0 bytes ```
获取文件位置前需要先查找到结尾,然后倒带:
FILE *pFile = fopen("file.wav", "rb");
if (pFile == nullptr)
{
cout << "Unable to open wave file";
return 1;
}
fseek(pFile, 0, SEEK_END); // <----- ADD THIS -------<
long lSize = ftell (pFile);
rewind(pFile); // <----- AND THIS -------<
char *p = new char[lSize];
size_t bytesRead = fread(p, 1, lSize, pFile);
确保以 read-binary 打开。 "rb" -- 查看 fopen
方法。