C언어 파일 읽어서 배열에 저장하기

조회수 2257회

코드는 아래와 같습니다. 이렇게 실행하면 마지막 값이 e 50이 나와야하는데 쓰레기 값이 출력이됩니다 뭘 잘못한걸까요 ?

#include <stdio.h>
#include <stdlib.h>

const int SIZE = 50;

int main()
{
    char* str1[100];
    char* str2[SIZE];
    char* name;

    FILE *srcFile;
    int i=0;
    srcFile = fopen("coins.txt", "r");

    if(srcFile == NULL)
    {
        perror("File opening failed!\n");
        return -1;
    }
    for(int i =0; i<SIZE; i++)
    {
        name = (char*)malloc(sizeof(char) *SIZE);
        fgets(name, SIZE, srcFile);
        str1[i] = name;
        printf("%s", str1[i]);
    }
        printf("\n\n");
    for (int i = 0; i < SIZE; i++)
        printf("%s", str1[i]);

    fclose(srcFile);

    return(0);
}

이미지

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 원본파일에 문제같아보이는데요 김호원 2021.5.20 11:03

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)