0
我正在嘗試從文件(文本)字節讀取並放入sndbuffer。但這是印刷垃圾。爲什麼這樣?從文件中讀取並放入二維緩衝區
此外,由於我正在學習使用文件,因此歡迎任何關於代碼改進的建議。
unsigned char sndbuffer[100][1560];
int main()
{
FILE *fp;
unsigned char filename[50];
unsigned char ch;
unsigned int i=0,j=0;
printf("\nEnter file name(with extn)\t");
scanf("%s",filename);
fp=fopen(filename, "r");
while(ch=fgetc(fp))
{
memcpy(&sndbuffer[i][j],&ch,1);
printf("%c",sndbuffer[i][j]);
j=(++j)%1560;
if(j==0)
i++;
if(i==100)
break;
}
printf("\nOUT OF LOOP");
return 0;
}
謝謝:)你的代碼
「文件名」的內存分配?這就是爲什麼你需要檢查文件是否被成功打開的原因 – GoldRoger
在C程序中檢查錯誤是*不可*。 EOF是*不* 0。 –
完成。有一些文件大小的問題。謝謝:) – user3433848