strtok 에 대해서 설명좀..ㅠㅠ
또야
strtok 예제 문제인데, 이해가 잘 안되요.. 질문 내용 :
우선 소스가 이거구요.
#include stdio.h
#include string.h
void main()
{
char str[]=i am a boy,you are a girl;
char *p;
p=strtok(str, ,);
while (p!= null) {
puts(p);
p=strtok(null, ,);
}
}
여기서 while 문이 이해가 안되거든요...;;
특히 p=strtok(null, ,); 이 문장이 이해가 안되요-_-;;
쉽게 설명 좀 해주실분~~ ㅠㅠ
-
딸기우유
외우는게 아니라 편의를 위해 알아야하는거죠 ㅋㅋ
-
수련
3. If the search does not find an element, the function stores the address of the terminating null character in the internal static-duration object. Otherwise, it stores a null character in the element whose address is end. Then it stores the address of t
-
설화
2. If the search does not find an element, the function stores the address of the terminating null character in the internal static-duration object (so that a subsequent search beginning with that address will fail) and returns a null pointer. Otherwise,
-
조으다
1. The function searches the string for begin, the address of the first element that equals none of the elements of the string s2 (a set of token separators). It considers the terminating null character as part of the search string only.
-
희미햬
strtok
char *strtok(char *s1, const char *s2);
If s1 is not a null pointer, the function begins a search of the string s1. Otherwise, it begins a search of the string whose address was last stored in an internal static-duration object on an earlier call -
Regretting
아 그냥 거의 외워야 하는건가요?? 아직도 잘 이해가 되지는 않지만 답변 달아주셔서 감사합니다^^ 계속 생각해봐야겠어요
-
다온
strtok함수에 첫번째 인자에 NULL이 들어갔을 경우는 이전에 토큰을 나누던 문자열을 그대로 쓰겠다는 표시로 보시면 됩니다.
처음 p=strtok(str,\ ,\);로 str문자열에서 공백과 ,을 구분자로 토큰을 나누고 그 토큰을 p에 리턴해주고 strtok(NULL,\ ,\);로 나누던 문자열을 계속해서 공백과 ,로 나누고 그 나눠진 토큰을 p에 리턴하겠다는 말입니다