每次我嘗試運行代碼時,它都會打印出文件的內容,但是它會在最後打印出一個垃圾值,我不知道如何去掉。我應該將文件的內容存儲到一個數組,但是我有點困惑如何做到這一點?存儲和清除垃圾值
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char filePrinter(char*arr)
int main (int argc, char**argv)
{
char fileArray[150];
if(argc !=2)
{
printf("Invalid Entry. Please Enter name of program followed by input filename\n");
}
filePrinter(fileArray);
return 0;
}
char filePrinter(char*arr)
{
int i;
FILE*file;
i=0;
file=fopen("assests/room.txt","r");
if(file == NULL)
{
printf("Could not open file\n");
exit(-1);
}
else
{
while(0 ==feof(file))
{
i=fgetc(file);
printf("%c", i);
}
}
fclose(file);
return i;
}
文件內容:
10x16 ds5 h6,5 g7,8 p3,3
10X16 de4 h5,7 g9,2
10X16 dw6,h2,3 m6,7
10X16 dn3,h2,4 p2,3
10X16 de2 h9,9 m4,5
10X16 dn8 h4,5 g1,1*/
它存儲數組,但它在最後打印出垃圾值 – user3380932
@ user3380932 add「memset(fileArray,0,sizeof(fileArray));」 –
非常感謝你的工作! – user3380932