MINERVA/C_CPP
2022. 4. 18. 17:31
반응형
아주 오래전에 이와 유사한 이슈가 있었는데, 깜빡하고 똑같은 실수를 했음
개인적으로는 msdn에 해당 내용이 좀더 친절하게 되어있으면 좋겠다.
https://stackoverflow.com/questions/40034176/strtok-s-crashes-program-when-string-is-of-char
해당 이유는 아래와 같이 정리가 되어있음.
" strtok() changes the memory pointed to by the argument str, so what it points at must be writeable - i.e. a char * and not a const char *. Since in the second case this condition is not satisfied, when it attempts to write a NUL to the read-only memory it crashes."
간단하게 정리하면, strtok_s(strtok)함수의 첫번째 인자에 상수포인터(pointer to const)가 들어가면 않됨
즉, 포인터가 가르키는 address가 read-only이면 않됨
[참조]
https://choiwonwoo.tistory.com/entry/cc-const-%ED%82%A4%EC%9B%8C%EB%93%9C-%EC%9D%B4%ED%95%B4
반응형