텍스트 파일에서 3줄만 출력하려면???
촉촉한 초코칩
텍스트 파일에서 3줄만 출력하려면???질문 내용 :제목그대로텍스트 파일에서 3줄만 출력하려고합니다.
주소록 관리하는 프로그램으로현재 검색부분입니다.
텍스트 파일 형식은 아래같이 저장되어있습니다.
*는 구분선으로 텍스트파일에는 없습니다.
**********************************************
이름1
연락처1
주소1
이름2
연락처2
주소2
이름3
연락처3
주소3
***********************************************
이런식으로 들어갑니다 다른내용은 안들어가고
이름과 연락처 그리고 주소까지 저런 형식으로 들어가 있습니다.
아래 코드에서 이름2를 검색하면 이름2만 나옵니다 하지만
저는 연락처2 그리고 주소2가 같이 출력되게 하고싶습니다.
아래 fget로도 해보려고 했는데 안되더군요 ㅠㅠ
파일입출력이 좀 어렵네요 ;;; 오늘 처음 파일입출력 써보는거라서
잘부탁드려요//주소록 검색
char editadress( name )
{
file *fp;
int line=1;
char buff[50];//읽을값 입력
fp = fopen(c://file.txt,r);if(fp == null)
{
puts(파일을 생성 할수 없습니다.);
}
while(!feof(fp))
{
fgets(buff,50,fp);
if(strstr(buff,name))//buff에서 name문장검색
{
printf(line(%2d): %s,line,name);//찾았다면 출력
printf(파일 포인터의 위치 : %d \n,ftell(fp));
fgets(name,50,fp);}
line++;
}
fcloseall();
}ps c언어 초보이니 쉽게 알려주시면 감사하겠습니다. 그럼 수고들하세요
-
Sonya
저도 그렇게 해봤는데 이름1\\n연락처1\\n주소1\\n 이렇게 되있어서 똑같이 나오더군요 ㅠ
이름뒤에 \\n이있어서 안되요 ㅠㅠ -
고독
i를 0~2까지 돌리면서 \\n만날때까지 출력하고 for문끝내시면됨.
이름밑 연락처사이엔 \\n이 들어가겠지요.
eof가 아닐때까지 출력하면되겠습니다.