>> Edit article
이름
제목
패스워드
안녕하세요.. 허접이지만.. 도움이 될까해서 답변 드립니다. main함수하고 case_function함수 안에 있는 두개의 string변수가 메모리 할당이 안되어서 나는 에러가 아닌가 싶네요.. 두 함수 안에서 모두 new등을 해주시면 되지 않을까요? char *string; string = (char *)malloc(256); 또는 string = new char[256]; ... free(string); 또는 delete[]string; 을 추가해 보세요.. 에궁.. : 파일에서 설정파일을 읽어오는 프로그램을 짜고 있습니다. : 설정 파일 내용이.. : ---------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(string,256,fpt);주목^^부분 : printf("%s",string); : */ : } : : } : : fclose(fpt); : : } : : 원래는 좀더 긴데 제가 거의 주석처리 해보고 에러나는 부분만 : 올립니다. : 문제가 뭐냐하면 위에처럼 case_function이라는 함수를 부를때는 : 프로그램이 실행되고 fclose(fpt)부분에 가서 : 세그멘테이션 오류라고 하면서 프로그램이 끝나버립니다. : 하지만 위에 주목^^부분 이라는 주석부분을 주석제거하고 : 그 윗줄에 case_function(fpt)부분에 주석을 주면 (즉 case_function을 : 안 쓰면^^;) : 그 문제의 세그멘테이션 오류가 안뜹니다.. : ㅜㅜ 아무리 생각해도 모르겠네요..왜 이러는지 로직상 두개 같은것같은데 : 부디 구원의 손길을 주옵소서.. : : 좋은 하루되세요^^ : : -- : 아..갈수록 태산이다 ㅡㅜ--빡/센/여/름/을/보/내/장
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved