strtok() 대신 strsep() 를 사용하자.
2012. 11. 30.
문자열 파싱 용도로 간단하게 사용하는 함수인 strtok() 는 구분자 사이가 비어있을 경우 문제가 발생할 경우가 있다. #include #include main(){ char *sep = "\f"; char *tok = NULL; char buf[128]; char *string, *tofree; //sprintf(buf, "1%c2%c3%c4%c5", '\f', '\f', '\f', '\f'); sprintf(buf, "1%c%c3%c4%c5", '\f', '\f', '\f', '\f'); tok = strtok(buf, sep); printf("tok1(%s)\n", tok); tok = strtok(NULL, sep); printf("tok2(%s)\n", tok); tok = strtok(NUL..