저는 strtok의 자체 버전을 개발했습니다. 포인터 사용법을 연습하기 만하면됩니다.strtok 대안을 개발했습니다
누구나이 제한 사항을 볼 수 있습니까? 어쨌든 개선 할 수 있습니까?
void stvstrtok(const char *source, char *dest, const char token)
{
/* Search for the token. */
int i = 0;
while(*source)
{
*dest++ = *source++;
if(*source == token)
{
source++;
}
}
*dest++ = '\0';
}
int main(void)
{
char *long_name = "dog,sat ,on ,the,rug,in ,front,of,the,fire";
char buffer[sizeof(long_name)/sizeof(*long_name)];
stvstrtok(long_name, buffer, ',');
printf("buffer: %s\n", buffer);
getchar();
return 0;
}
strtok에서 다음 토큰을 반환해야하지만이 코드는 구분 기호 만 제거합니다. – Vinay
'\ 0'이 누락 된 결함있는 문자열을 보내고 어떤 일이 발생하는지 확인하려면 이 코드가 NULL 또는 임의의 문자열을 어떻게 처리합니까? – Johan