strtok으로 파싱할때 연달아 구분자가 오는경우.
글쓴이: ohhosk / 작성시간: 월, 2009/11/16 - 6:45오후
strtok으로 문자열 파싱을 하는데
예를들어,
5가지의 파라미터를 파싱해서 가져오는데 구분자로 :를 사용합니다.
1:2:3:4:5
그런데,
1:3:0::
이런 문자열이 있다고 하면, 4번째, 5번째 값이 없는 경우인데요.
4번째 값이 있는지 없는지를 검사하고 싶은데, strtok으로 하면, 4번째에서 NULL이 나오질 않고, \n 개행문자까지 다 넘어가버립니다.
strtok은 연달아 구분자가 오면 그냥 넘어가버리는 것 같은데요.
어떻게해야 연달아 구분자가 오는 경우를 검사할 수 있을까요?
Forums:
man strtok에서도 이 문제가 언급됩니다.
delimiter가 연속적으로 오는 경우 무시해버리도록 구현된 것은 의도적이지 bug는 아닙니다.
해결책은 http://kldp.org/node/104438 참고 (test는 안해봤습니다.)
ps)
검색의 생활화
"strtok" "연속" "구분자"로 google 검색하면 첫 상단에 나옵니다.
음...
strsep() 가 있으면 이걸 쓰시거나...
아니면 strchr() 로 찾아서 직접 잘라주면 될 듯 하군요.
https://www.openevidence.org/oedoxy/strsep_8c-source.html
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
댓글 달기