파일 오픈시 에러 질문드립니다.
꽃가을
2023.04.01
질문 제목 : fgets와 fopen 함수fgets와 fopen 함수질문 내용 : 간단하게 파일 열고닫는 코드입니다.#includestdio.h
intmain(void)
{
file*open;
charfile_name[100];
printf(파일이름을입력하세요:);
fgets(file_name,sizeof(file_name),stdin);//gets(file_name);
fopen_s(&open,file_name,wt);
if(open==null)
{
printf(fileopenerror!\n);
return1;
}
if(fclose(open)!=0)
{
printf(filecloseerror!\n);
return1;
}
return0;
}여기서 fgets(file_name,sizeof(file_name),stdin); 이것을 주석처럼 바꾸면 제대로 되는데
fgets와 gets의 차이점은 스트림 지정과 사이즈를 지정해줄수있고 없고의 차이 아닌가요?
왜 에러가나는지 알고싶습니다.
-
터전
감사합니다!
-
쥬디시어스
참고로 fopen이 에러가 나면, errno라는 변수값을 확인해 보면 왜 에러가 났는지 알 수 있습니다.
strerror을 쓰면, errno 값이 무슨 에러인지 설명도 얻을 수 있고요.