Как strtok_s токенизирует символ *? - PullRequest
1 голос
/ 27 ноября 2010

Кажется, изменилась исходная строка, которую я хотел разделить, указав токены.

как она возвращает подстроку, если не может скопировать из памяти?

Ятакже ищет альтернативу, которая принимает const char* или не изменяет оригинальную строку.

или безопасно просто const_cast строка удалить свойство const и позволить ему обрабатываться strtok_s(char*, const char*, char**).

Ответы [ 2 ]

4 голосов
/ 27 ноября 2010

strtok_s и др. do изменяют передаваемые строки, поэтому нет, вы не можете передать const_cast d константную строкуЕсли он находит разделитель, он заменяет его разделителем NUL, чтобы разделить строку на две части.Затем он возвращает указатель на первую часть, которая теперь является желаемым токеном с нулевым символом в конце.

0 голосов
/ 27 ноября 2010

Если вы не хотите изменять исходную строку, вы всегда можете сначала скопировать ее, а затем strtok_s.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...