while (fgets(str, sizeof(str), fp) != NULL)
  {
   printf_s("%s", str);
  }  

위의 코드와


  while (1)
  {
   if (fgets(str, sizeof(str), fp) == NULL);
   {

     printf_s("%s", str);
     if (feof(fp) != 0)
    {
     printf("출력 완료!\n");
     break;
    }
    else
    {
     printf("출력 실패\n");
     break;
    }
   }
   printf_s("%s", str);
  }  

이 코드를 보면


둘다 fgets()함수가 NULL을 반환할때까지 계속 파일을 읽어서 출력하는건데


첫번째 코드는 정상적으로 실행이 되는데


두번째 코드는 텍스트 파일의 첫번째 줄만 출력하고      printf("출력 실패\n");      이 부분을 실행합니다.


두번째 코드는 무엇이 문제인 건가요?