파일입출력 질문좀여 ㅜㅜ
큰맘
파일입출력 쓰는법이 궁금합니다.질문 내용 : 파일입출력을 공부하는데요
txt파일을 읽어들일려고 합니다.
txt파일 내용은 다음과 같습니다.
네가 어떤 삶을 살든...@공지영@오픈하우스@12000
서른살이 심리학에게 묻다@김혜남@갤리온@12000
하악하악: 이외수의 생존법@이외수@해냄출판사@12800
시크릿@론다 번@살림biz@12000
사랑하기 때문에@기욤 뮈소@밝은세상@9800
달콤한 나의 도시@정이현@문학과지성사@10000
통찰의 기술@신병철@지형@12000
꿈꾸는 다락방@이지성@국일미디어@11000
렘브란트의 유령@폴 크리스토퍼@중앙북스@10000
그래도 계속 가라@조셉 m. 마셜@조화로운삶@9800
@로 구분지어져있는데요..
파일을 읽어들일때 fscanf(fp, %s%s%s%d, &(book + num)-bookname, &(book + num)-name, &(book + num)-publish, &(book + num)-money) 이런식으로 하면 안되더라공...
@를 기준으로 어떻게 구분짓게하는지 모르겠습니다. ㅜㅜ
-
수국
fgets에 대해 검색해 보시면 되는 걸...-_-;
버퍼에 한줄씩 들어가게 되므로 크기는 적당히 크게 잡으면 됩니다. 한 줄의 길이가 200바이트가 넘을 일은 없다고 판단되면... 넉넉잡고 1024라든가 하는 정도로 잡으면 되겠죠 -_-;
그리고 fgets는 읽을게 없으면 NULL을 리턴하므로 줄 수가 몇 줄인지는 상관없습니다. while 문으로 돌리면 되니까요. -
로지
파일의 첫 줄에 명시하는 것이 좋고,
그렇지 않으면 파일을 읽어봐야 알겠죠.
몇 줄인지 미리 알 수는 없습니다. -
잔디
fgets(넣을곳, 크기, 파일포인터) 이건데 크기를 한줄크기를 알기위해선 어떻게 해야할까요?
그리고 파일내용이 10줄인걸 어떻게 알까요????????ㅜㅜ -
영미
파일 내용에 따라 다르겠죠
-
내길
도서명, 저자, 출판사, 가격의 최대 길이가 있지 않나요?
-
권시크
fgets로 받아들일때 크기는 얼마로 지정해줘야할까여??
-
후예
fgets로 라인 단위로 읽어들인 다음 strtok 같은 함수를 써서 @단위로 자르면 됩니다.