파일에서 설정파일을 읽어오는 프로그램을 짜고 있습니다.
설정 파일 내용이..
---------conf----------------
#####my project#######
DENY_ALL_HOST 234.212.215.89
등등..
---------------------------
이렇게 되어있습니다.
이제 소스를 보여드리께염
void case_function(FILE * fpt)
{
char *string;
fgets(string,256,fpt);
printf("%s",string);
}
void main()
{
FILE * fpt;
char teststring;
char *string;
char oneargv[20];
char twoargv[20];
int count=0;
fpt=fopen("./myproject/firewal.conf","r");
while ((teststring=fgetc(fpt))!=EOF)
{
fseek(fpt,-1L,SEEK_CUR);
if((teststring =='#') || (teststring ==' ') || (teststring == 10 ) ) //13 is CR() , 10 is LF( ). ASCII code!!
{
fgets(string,256,fpt);
printf("%s",string);
}
else
{
case_function(fpt);
/*
fgets(s
tring,256,fpt);주목^^부분
printf("%s",string);
*/
}
}
fclose(fpt);
}
원래는 좀더 긴데 제가
거의 주석처리 해보고 에러나는 부분만
올립니다.
문제가 뭐냐하면 위에처럼 case_function이
라는 함수를 부를때는
프로그램이 실행되고 fclose(fpt)부분에 가서
세그멘테이션 오류라고
하면서 프로그램이 끝나버립니다.
하지만 위에 주목^^부분 이라는 주석부분을 주석제거하
고
그 윗줄에 case_function(fpt)부분에 주석을 주면 (즉 case_function을
안 쓰면^^;)
그 문제의 세
그멘테이션 오류가 안뜹니다..
ㅜㅜ 아무리 생각해도 모르겠네요..왜 이러는지 로직상 두
개 같은것같은데
부디 구원의 손길을 주옵소서..
좋은 하루되세요^^
--
아..갈수록 태산이
다 ㅡㅜ