#include <stdio.h>
char * myStrtok(char *s1, char *delim) {
static char *lastToken = NULL;
char *tmp, *x, *s;
/* Skip leading delimiters if new string. */
if ( s1 == NULL ) {
s1 = lastToken;
if (s1 == NULL) /* End of story? */
return NULL;
} else {
for(s=s1;*s!=0;s++) {
for(x=delim;*x!=0;x++)
if(*s==*x) break;
if(*x==0) break;
}
s1=s;
}
/* Find end of segment */
for (s=s1; *s!=0; s++) {
for (x = delim; *x!=0; x++)
if (*s == *x) break;
if(*x!=0) break;
}
if(*x!=0) tmp=s;
else tmp= NULL;
if (tmp) {
/* Found another delimiter, split string and save state. */
*tmp = '\0';
lastToken = tmp + 1;
} else {
/* Last segment, remember that. */
lastToken = NULL;
}
return s1;
}
int main() {
char line[100];
char *p;
gets(line);
p=myStrtok(line, ", ");
while(p) {
printf("%s\n", p);
p=myStrtok(NULL, ", ");
}
return 0;
}
'c·c++ > c 프로그래밍' 카테고리의 다른 글
디렉토리 리스팅(윈도우) (0) | 2013.01.31 |
---|---|
확장된 유클리트 알고리즘 (gcd 최대공약수) 구하기 (0) | 2013.01.29 |
연결리스트를 이용한 다항식의 구현 (0) | 2012.12.01 |
2개의 for문을 사용한 별찍기 (0) | 2012.11.20 |
최대값, 최소값, 2번째 큰값, 2번째 작은값 (0) | 2012.11.19 |