fopen과fclose질문~~
희선
후헤헤~~
#include stdio.h
int main()
{
int state;
FILE *file=fopen(test.txt,wt);
if(file==NULL){
printf(file close error!\n);
return 1;
}
fputs(asdfdf,file);
state=fclose(file);
if(state!=0){
printf(file close error!\n);
return 1;
}
return 0;
}
이렇게했습니다.
제가궁금한것은요!
1.어찌하여 if문안에 return문이있냐는것입니다;;
2.왜fopen은NULL이면 개방이않된거고 fclose는 0이면 닫힌거죠? 함수가실행에성공하면 0이되는거아닌가요?
그리고~~ NULL도0아닌가요?(NULL이쓰레기값이라는것은알고있습니다.)
-
바다 2025-05-23
2. fopen은 파일열기에 성공하면 파일포인터를 돌려주고 실패하면 NULL 즉 0을 돌려줍니다.
-
설화 2025-05-23
if(file==NULL){ // 만약 파일 열기에 실패했다면
printf(\file close error!\\n\); // 에러메시지를 출력하고 (이것은 메시지가 file open error가 맞습니다)
return 1; // main 함수를 끝냅니다. 즉 프로그램을 종료시킵니다.
} -
슬우 2025-05-23
return 값이 1이냐 0이냐를 가지고 프로그램이 제대로 돌았는지 안돌았는지 검출할때 쓸수있다고 얼핏 들은거같네요 그냥 참고값이라고 생각하시면 편하게..state랑 그아래 if문은 안쓰는게 나을거같아요.
-
핫팬츠 2025-05-23
NULL는 컴파일러마다 틀립니다.
보통은 0으로 설정되어 있는 경우도 있지만, (void *) 0 으로 널 포인터로 된 경우도 있습니다.
그리고, 일반적으로 0 리턴값으로 오류가 있는 지 확인하는 경우가 많습니다.
NULL 쓰는 목적은 컴파일러보다는 코딩의 실수를 하지 않도록 되는 경우도 있고,
이전에 나왔던 언어들이 지원했던 nil (널) 기능 때문에 없애지 않고 포함된 경우도 있습니다. -
애교 2025-05-23
1. 말그대로 file이 읽혀지지않았을때 1을 리턴하는... 그런거죠 뭐 -_ -
2. NULL은 \\0입니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695738 | fopen과fclose질문~~ (5) | 희선 | 2025-05-23 |
2695707 | 3의 배수 나타내기. (2) | 수리 | 2025-05-23 |
2695626 | 피보나치수열 과제 때문에 질문 드립니다. (6) | 옆집언니 | 2025-05-22 |
2695595 | 포인트공부중입니다 int형에서 4=1 인가요? (3) | 족장 | 2025-05-22 |
2695567 | 드라이브 고유번호를 가져오는 함수 (2) | 초코맛사탕 | 2025-05-21 |
2695533 | 음수의 산술변환! 질문이요 ㅠㅠ... (4) | 꽃여름 | 2025-05-21 |
2695506 | 구조체 배열 이용 도서목록 출력 프로그램 (1) | 가을귀 | 2025-05-21 |
2695450 | c언어 함수 질문이요.... | 이슬비 | 2025-05-20 |
2695403 | VirtualAlloc함수 및 메모리 질문 | 크리에이터 | 2025-05-20 |
2695355 | c언어 for함수 | 미쿡 | 2025-05-19 |
2695327 | 안녕하세요 제가 이번에 좀 큰 프로그램을.. | 악당 | 2025-05-19 |
2695295 | mutex동기화의 thread기반 채팅 서버소스 질문입니다 | 그루터기 | 2025-05-19 |
2695270 | 질문이요..swap 관한겁니다..ㅠㅠ (3) | 콩알녀 | 2025-05-19 |
2695244 | 노땅초보궁금한게 하나 있는데요..반복문(while문)초보자질문 (6) | 큰꽃늘 | 2025-05-18 |
2695166 | do while 문 어떤것이잘못된건지 모르겠어요 (2) | 아이폰 | 2025-05-18 |
2695122 | 구조체에 대해 물어보고 싶은게 있습니다 ^^^.. (7) | 수련 | 2025-05-17 |
2695091 | txt 파일 입출력 후 2차 배열에 저장하기입니다. (3) | 헛장사 | 2025-05-17 |
2695063 | 수도요금 프로그램좀 짜주세요. | 시내 | 2025-05-17 |
2695033 | 답변좀요ㅠㅠ (1) | 비사벌 | 2025-05-16 |
2695010 | C++의 STL은 왜 굳이 템플릿화 시켜서 라이브러리를 만드나요? (초보수준의 질문..) (2) | 엘보어 | 2025-05-16 |