我寫了一個小程序從.au文件中獲取魔術數字並將其打印到控制檯,但是每次嘗試時,我都會改爲10,而不是獲得預期的.snd
。從.au讀取魔術數字文件
我不知道爲什麼會發生這種情況,考慮到我只讀了4個字節,這就是幻數組成的部分。那麼,額外角色從哪裏來?
#include <stdio.H>
int main()
{
FILE *fin;
int r;
char m[4], path[20];
scanf("%s", path);
fin = fopen(path, "r");
r = fread(&m, sizeof(char), 4, fin);
printf("magic number is %s\n", m);
return 0;
}
你沒有你的'M'陣列上的空終止,所以printf()函數將保持吐出字節,直到遇到一個。 –