2
strtok() 함수는 정적 변수를 사용합니다.strtok 함수 디자인
따라서 재진입의 문제가 아닙니다. 여러 문자열을 구문 분석하는 데 사용할 수 없습니다.
제가 알고 싶은 것은 왜 strtok()가 이런 식으로 설계 되었습니까? strtok_r()은 strtok()이어야합니다.
향후이 기능이 표준 라이브러리에 남아있게됩니까?
strtok() 함수는 정적 변수를 사용합니다.strtok 함수 디자인
따라서 재진입의 문제가 아닙니다. 여러 문자열을 구문 분석하는 데 사용할 수 없습니다.
제가 알고 싶은 것은 왜 strtok()가 이런 식으로 설계 되었습니까? strtok_r()은 strtok()이어야합니다.
향후이 기능이 표준 라이브러리에 남아있게됩니까?
기능이 변경되지 않습니다. 이전 버전과의 호환성은 표준을위한 중요한 요소입니다.
왜 함수가 재진입 적이 아닙니까? 글쎄, 나는 70 년대에 디자인되었을 때 거기에 없었지만, 재사용이 작성된 유스 케이스에는 필요 없다고 생각한다. 유용성과 호환성을 유지하면서 사용의 확산은 재주문의 유연성 향상보다 더 바람직했습니다. 그리고 마침내위원회는 기존의 관행을 표준화했으며 기존의 관행이있을 때 새로운 솔루션을 설계하는 대신에 기존의 관행을 표준화했습니다.
왜 하늘색입니까, 아빠? –
멀티 스레드가 일반적이기 전에 인터페이스 디자인에서 고려되지 않았기 때문에 오래 전에 작성 되었기 때문에 – forsvarir
멀티 스레드를 고려하지 않아도 여전히 결함이 있습니다. 한 번에 하나의 문자열. – Nyan