파일출력스트림 fopen 질문이요~
볼1매그녀
질문 제목 : fopen 질문 있습니다.질문 내용 :
#include stdio.h
int main ()
{
file *fp = fopen(a.txt, r);
char buf[20]; // 내용을 입력받을 곳
if(fp == null)
{
printf(read error !! \n);
return 0;
}
fgets(buf, 20, fp);
printf(입력받는 내용 : %s \n, buf);
fclose(fp);
return 0;
}
/* fgets 로 a.txt 에서 내용을 입력 받는다. */
#include stdio.h
int main ()
{
file *fp = fopen(a.txt, r);
char buf[20]; // 내용을 입력받을 곳
if(fp == null)
{
printf(read error !! \n);
return 0;
}
fgets(buf, 20, fp);
printf(입력받는 내용 : %s \n, buf);
fclose(fp);
return 0;
}
위의 코드에서요, fgets(buf, 20, fp);
부분 있잖아요~. 여기서, fp를 *fp 로 바꿔야 하는 거 아닌가요...?
fp는 스트림의 주소값을 리턴하니까 *fp 로 해야 만들어진 파일 내부의 문자를 가리킬 수 있는 거 아닌가요~?헷갈려요..
포인터의 개념으로 하면 이해가 안 되요.. 어디가 어떻게 잘 못 된 것일까요~?
fp로 하면 정상적인데 *fp 로 하면 버그나와요~
-
핫보라
아~! 정말 감사합니다. 이제야 이해가 되요~ 진짜 감사드려요 ㅎㅎ. 깨달을 때의 쾌감이란!! 정말정말 감사합니다~
-
들꿈
fgets라는 함수는 난 파일에서 한번에 한줄을 읽어올테니 읽어올 파일의 주소를 내놔라 하는 함수라는 겁니다
그 파일의 주소가 fp구요 주소를 입력받았으니 fgets함수가 그 주소를 따라가서 파일을 읽는겁니다
우리는 주소만 주면 되지 파일의 내용을 줄 필요는 없는겁니다 -
횃눈썹
아.. 제가 이해를 잘 못하나봐요~^^;; fp 에는 a.txt 의 주소가 들어있으니까, *fp 라고 fgets의 인자에 *fp라고 넣어야, fp에 들어있는 주소값(a.txt의 주소)에 있는 내용(파일내용)을 가리키는 거 아닌가요..?
처음에 답변해주신 내용이 무슨 말씀인지 잘 모르겠어요 ㅜㅜ -
쥬디시어스
fp에는 a.txt의 주소가 들어있습니다 그래서 파일포인터죠 파일의 주소를 가지고 있으니까요
fp는 *fp 로 된다는게 무슨말인지 이해가 가지 않습니다 -
중독적
그럼 fgets(buf, 20 ,fp )라고 쓰면, fp라는 인자는 \a.txt\라는 주소값을 fp에 넣고, fp는 *fp 로 된다는 말씀이신가요 ~?
-
큰모듬
fgets는 헤더파일에
fgets(_Out_z_cap_(_MaxCount) char * _Buf, _In_ int _MaxCount, _Inout_ FILE * _File);
이렇게 정의되어 있습니다
입력받는 인자가 파일포인터이므로 fp를 넣어주는것이 맞습니다
*fp라고 한다면 포인터에 저장된 주소의 메모리값이 들어가므로 에러가 납니다
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |