gets 는 경계검사를 하지 않는 위험한(?) 함수 입니다.
data 배열의 크기를 10으로 정해놓고 그 이상을 입력을 받게 되면 안되겠져?
gets 대신 fgets 함수를 사용하시고, data 배열 크기를 바꿔 보세요.
: data는 data[10] 로 설정하고.
:
: 정작 gets()로 입력 받을 때는 최고 9바이트를 받으면 된다는 건가요?
:
:
: : data 에 10 바이트 이상이 들어가려면 곤란하겠네요.
: :
: : : char data[10];
: : :
: : : gets(data);
: : :
: : : for(int i=0; i<10; i++)
: : : put(data[i]);
: : : (위부분은 입력을 받고 출력을 하는 건데 클라이언트나 서버에서 같은 소스를 사용합
: : : 니다.)
: : : 정상적으로 컴파일 되요 아주 잘 되죠...
: : :
: : : 근데 서버 돌리고... 다음으로 클라이언트에서 접속하면
: : :
: : : segmentation fault 라네요...
: : :
: : : 왜 그런거죠? 이유를 모르겠습니다. 오버나 언더플로우 같지 않은데
: :
: : --
: : 이 곳에 서명을 적어주십시옹...--Mins
My homePage : http://mins.fsu.or.kr E-mail : mins (at) fsu.or.kr