>> Delete Reply from No. 49064 article
No. RE: [프로그래밍]저 잠좀자게 도와주세요 ㅡㅜ
엉엉..

등록 2002-05-15 08:38:00 By localhost     조회 1
이름 송관선    

		안녕하세요..
허접이지만.. 도움이 될까해서 답변 드립니다.
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