char *를 입력으로 사용하여 공백을 사용하여 분할하고 문자열 배열에 토큰을 다시 저장하는 C 함수를 작성했습니다.함수가 실행되지만 세분화 오류가 발생합니다. C
내 코드가 제대로 실행되지만 실행을 완료하기 전에 세그먼트 화 오류가 발생합니다. 누구든지 저에게 잘못된 것을 보여 줄 수 있습니까?
void parseCommand(char *msg)
{
char buffer[25][30];
char *tok;
char *msgCopy;
//strcpy(msgCopy,msg);
msgCopy =msg;
tok = strtok(msgCopy," ");
strcpy(buffer[0],tok);
int i=1;
while(tok != NULL){
tok = strtok (NULL, " ");
strcpy(buffer[i],tok); //me line eke error eka
printf("%d : %s\n",i,buffer[i]);
i++;
}
}
당신이 실패 할 수 입력을 지정하지 않았습니다합니다. 나는 너무 긴 문자열로 "버퍼"를 단순히 오버 플로우시킨 것 같다. – Netch