C strtok () и строковые литералы только для чтения

символ *strtok (символ *s1, символ константы *s2)

повторные вызовы к этому функциональному повреждению представляют s1 в виде строки в "маркеры" - который является строкой, повреждается в подстроки, каждый завершающийся с '\0', где '\0' замен любые символы содержали в строке s2. Первый вызов использует строку, которая будет маркироваться как s1; последующие вызовы используют ПУСТОЙ УКАЗАТЕЛЬ в качестве первого аргумента. Указатель на начало текущего маркера возвращается; ПУСТОЙ УКАЗАТЕЛЬ возвращается, если больше нет маркеров.

Привет,

Я пытался использовать strtok сейчас и узнанный это, если я передаю в a char* в s1, Я получаю отказ сегментации. Если я передаю в a char[], strtok хорошо работает.

Почему это?

Я погуглил вокруг, и причина, кажется, что-то о как char* только для чтения и char[] является записываемым. Более полное объяснение очень ценилось бы.

5
задан kame 17 September 2019 в 09:42
поделиться