因此,我正在嘗試製作一個讀取中間文件的程序,並輸出節點和txt文件中的節點之間的延遲以供進一步使用。然而,我遇到了一些問題。每當我嘗試讀取中間文件時,它只是給我隨機字符。但是我找不到解決問題的辦法。即使用二進制標籤讀取文件也不行。作爲進一步分析的二進制文件讀取中間文件
#include <stdio.h>
#include <windows.h>
int main(){
FILE *midi = fopen("myfile.mid","rb");
FILE *txt = fopen("myfile.txt", "w");
char line[40];
if (midi==NULL)
{
printf("Error");
fclose(midi);
fclose(txt);
return 1;
}
while(!feof(midi))
{
fgets(line, 40, midi);
printf("%s\n",line);
fputs(line, txt);
Sleep(300);
}
fclose(midi);
fclose(txt);
return 0;
}
編輯:所以我試着用fread和fwrite來代替,但它仍然給了醫藥「隨機」符號。我剛剛更換與此代碼while循環:
fread(line, 1, 40, midi);
fwrite(line, 1, 40, txt);
你不應該用'fgets'讀取二進制數據... – gurka