所以我有一個文件,作爲一些文本,我希望我的函數讀取該文件並將其存儲在一個數組上。我做了一些代碼,當我打印我的動態數組時,它會打印垃圾值:<幫助。C語言 - >讀取文件到動態數組
char* read_message(char *filename)
{ //gets the PATH of the txt file
char *file_contents;
long input_file_size;
FILE *input_file = fopen(filename, "r");
if(input_file == NULL)
{
return NULL;
}
fseek(input_file, 0, SEEK_END);
input_file_size = ftell(input_file);
rewind(input_file);
file_contents = (char*)malloc(input_file_size+1 * (sizeof(char)));
fread(file_contents, input_file_size, 1, input_file);
printf("%s",file_contents);//----Prints crap--------
fclose(input_file);
// returns the address to the array of strings
return file_contents;
}
請在此處發佈您的代碼,而不是代碼的圖像。 – AntonH
請將代碼作爲文本發佈,而不是文本圖片或文本圖片的鏈接。同時發佈您的輸入,預期輸出和實際輸出。 – dbush
只是好奇:你爲什麼分配'input_file_size + 1'? ''最後'+ 1'是最基本的(請參閱@dbush [answer](https://stackoverflow.com/a/47359654/2436175)),但我想知道你是怎麼想出來的,如果你沒有了解終止角色。 – Antonio