-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
file == NULL 질문드려요!
19.03.09 23:17 작성 조회수 445
0
파일에 텍스트를 쓰는 과정에서
FILE * file = fopen("C:\\Users\\USER\\Desktop\\text\\test.txt", "wb");if (file == NULL)
{
prinf("파일 열기 실패\n");
return 1;
}
fputs("fputs 를 이용해서 글을 적어볼게요\r\n", file);
fputs("잘 적히는지 확인해주세요\n", file);
fclose(file);
여기서 fopen에서 text라는 폴더에 아무런 파일이 없음에도 불구하고 실행을 시키면 파일열기 실패라고 출력이 되지 않고 자동으로 text.txt라는 파일을 만들어서 글이 적힌뒤에 저장이 되어 있더라구요.
폴더가 있더라도 안에 파일이 없으면 file==NULL이 참이 되어서 if문이 실행되어야 하는거 아닌가요??
혹시 자동으로 파일이 만들어지는 기능같은게 있는건지 궁금합니다!
답변을 작성해보세요.
1
나도코딩
지식공유자2019.03.11
안녕하세요! 파일을 여는 방식이 몇 가지 있는데요, 우리 코드에서 fopen 뒤에 들어가는 "wb"의 w (write)가 바로 쓰겠다는 의미입니다. r (read)은 읽겠다는 의미가 되구요. w 일때는 파일이 없어도 자동으로 만들어서 파일을 쓰게 되어서 잘 동작을 했던 거에요. r 인 경우에는 파일이 없으면 자동으로 생기지 않습니다 ^^ 더 자세한 설명은 아래 링크로 대신하겠습니다. 설명 중에서 표 부분을 살펴보시면 도움 될거에요. 감사합니다 !
답변 1