본문 바로가기

컴퓨터/언어,프로그래밍

strtok_r 과 strtok 의 차이점?


#include <stdio.h>
#include <strings.h>

int main(int argc, char *argv[]) 
{
    const char delim[] = "\t\n =";
    char    *buf, *value_p, *lasts;
    char str[]="thsis is test";

    buf = str;
    //value_p = strtok_r(buf, delim, &lasts); 1번 
    value_p = strtok(buf, delim); 2번
    if( !value_p ){
        fprintf(stderr, "wrong string \n");
        return(-1);
   }
        
    fprintf(stdout, "string token is %s\n", value_p);
    return(0);
}

1번으로 컴파일하면
"strtok_test.c", line 13: warning: improper pointer/integer combination: op "="
이러한 워닝이 나옵니다.

2번으로 컴파일하면 아무런 워닝이 없습니다.

두 함수에 어떤 차이가 있는 건가요?

제주삼다수, 2L,... 오뚜기 진라면 매운... 상하목장 유기농 흰... 남양 프렌치카페 카... 고려인삼유통 홍삼 ... 종근당건강 오메가3... 요이치 카링 유무선...