我正在嘗試將PCM數據(在單獨的文件中)寫入到我創建的wav文件中。我已經寫了頭文件,並確認它已經起作用,但由於某種原因,當我嘗試將原始數據寫入它時,事實並非如此。我已經成功讀取了pcm文件到緩衝區並獲得了文件的大小。在編譯過程中,fwrite()過程沒有給我一個錯誤,但是結果文件仍然是空的。任何幫助深表感謝!謝謝!無法將PCM數據寫入wav文件
register FILE *handle;
register FILE *lever;
char filename[] = "test.wav";
handle = fopen(filename, "w");
lever = fopen("test.pcm","rb");
fseek(lever, 0, SEEK_END);
long int lSize = ftell(lever);
printf("%i \n",lSize);
rewind(lever);
char *buffer = (char*) malloc(sizeof(char)*lSize);
if (NULL == buffer) {printf("Error creating buffer \n");}
if (lSize != fread(buffer, 1, lSize, lever)) {
printf("Reading error \n");
}
fwrite(buffer, sizeof(buffer), 1, handle);
free(buffer);
fclose(lever);
fclose(handle);
{C | C++}選擇一個 – 111111 2012-03-21 19:06:37
的sizeof(緩衝器)==的sizeof(字符*) – wildplasser 2012-03-21 19:13:43
'的sizeof(char)的== 1'由定義。 – glglgl 2012-03-21 19:16:04