>> Edit article
이름
제목
패스워드
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
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved