문자열1:문자열2:문자열3:문자열4
이런식으로 ':'구분자로 구분되는 문자열을
strtok함수를 이용해 잘라보았습니다
그런데 문제는
문자열1::문자열3:문자열4
처럼 생략이 가능한 token이 있기 때문에
만약에 문자열2자리에 문자열이 없다면 null혹은 비어있다는 표시를 해주어야 하지만
지금 코드 상태에서는 비어있는 문자열2에 대해 알 수가 없고 그냥 문자열 3과 문자열 4가 2번째 3번째 token으로 취급됩니다.
어떻게 방법이 없을지 여쭈어 봅니다
답변 부탁드리겠습니다
아래는 제가 작성한 코드입니다
tmp_token = strtok(tmp_str,":");
while(tmp_token)
{
if(cnt_token == 0 )
printf("str1 : %s", tmp_token);
else if(cnt_token == 1)
printf(" str2 : %s", tmp_token);
else if(cnt_token == 2)
printf(" str3 : %s", tmp_token);
else if(cnt_token == 3)
printf(" str4 : %s", tmp_token);
tmp_token = strtok(NULL,":");
cnt_token++;
}