scanf() 계열을 쓰는 것은 별로 추천하고 싶지 않습니다. 가능하면 strtok/strtok_r을 쓰거나, strspn/strcspn/strpbrk/strchr을 쓰길 바랍니다.
"%[...]"는 ...에 해당하는 character로만 이루어진 set을 입력받기 위한 format specifier이며, 첫글자가 "^"인 경우, 이후 나오는 글자 이외의 character로만 이루어진 set을 뜻합니다. 그래서 ".,\"\'!?"에 해당하지 않는 글자만 읽어서 저장하라는 뜻입니다.
MS 함수는 잘 모르지만, sscanf()와 유사할 것이라는 가정 아래, input인 첫번째 인자를 이후, output 인자에 다시 쓰는 것은, undefined behavior에 해당합니다.
scanf() 계열을 쓰는 것은 별로 추천하고 싶지
scanf() 계열을 쓰는 것은 별로 추천하고 싶지 않습니다. 가능하면 strtok/strtok_r을 쓰거나, strspn/strcspn/strpbrk/strchr을 쓰길 바랍니다.
"%[...]"는 ...에 해당하는 character로만 이루어진 set을 입력받기 위한 format specifier이며, 첫글자가 "^"인 경우, 이후 나오는 글자 이외의 character로만 이루어진 set을 뜻합니다. 그래서 ".,\"\'!?"에 해당하지 않는 글자만 읽어서 저장하라는 뜻입니다.
MS 함수는 잘 모르지만, sscanf()와 유사할 것이라는 가정 아래, input인 첫번째 인자를 이후, output 인자에 다시 쓰는 것은, undefined behavior에 해당합니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기