1
char *str = malloc (14);
sprintf(str, "%s", "one|two|three");
char *token1, *token2, *token3;
char *start = str;
token1 = str;
char *end = strchr (str, '|');
str = end + 1;
end = '\0';
token2 = str;
end = strchr (str, '|');
str = end + 1;
end = '\0';
...
free(start);
올바르게 토큰 화하기 위해 문자열 str에서 바이트를 설정했기 때문에 자유롭게 작동합니까?C 문자열 토큰 화 질문
malloc과 free에 동일한 변수 이름을 사용하는 것이 좋습니다. 이 경우 malloc에 "start"를 사용하고 "start"의 값에 "str"을 할당하십시오. – selwyn
아, 알겠습니다. – user105033