fgets 개행 없애기 질문

조회수 409회
FILE*f = NULL;
    f = fopen("input.txt", "r");
    char what;
    int ID;
    char name[30];
    while (!feof(f)) {
        fscanf(f, "%c", &what);
        if (feof(f)) break;
        if (what == 'i') {
            fscanf(f, "%d", &ID);
            fgets(name, 30, f);
            name[strlen(name) - 1]='\0';  // ------>

fgets 때문에 개행이 생기는걸 제거하기 위해서 저렇게 해야한다길래 해줬어요.

visual studio 에서는 제대로 개행이 제거되는데 ubuntu에서는 저 줄때문에 뒤에 출력해야할 것이 없져버려요. 저줄을 지우지 않으면 출력되어야 하는건 다 출력이 되는데 대신 개행이 다시 생깁니다. 도와주세요.

ubuntu에서는 name[strlen(name) - 1]='\0'; 이런식으로 개행을 제거하면 안되는건가요?

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

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

(ಠ_ಠ)
(ಠ‿ಠ)