그래서 어떤 텍스트로 파일을 읽고 그 파일을 읽고 배열에 저장하는 기능을 원합니다. 몇 가지 코드를했는데 동적 배열을 인쇄 할 때 쓰레기 값을 인쇄합니다 : < help.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