Вы не можете сделать это с strtok
, по крайней мере, не легко, потому что strtok
стирает любые разделители, которые он находит, без указания того, кем они были. Таким образом, проблемы, связанные с различением различных типов разделителей, не подходят для strtok
.
Я бы предложил вам попробовать подход, который пытается сопоставить поля, которые вы хотите извлечь, а затем проверить символ разделителя, который следует за соответствующим полем. (Возможно, вы также захотите пропустить пробелы, но это простая модификация.)
Если вы ищете числа, вы обнаружите, что strtol
(или strtod
для числа с плавающей запятой) очень полезно, потому что оно извлекает число и сообщает вам, где число заканчивается. Затем вы можете проверить символ в указанной конечной точке и перезапустить сканирование для следующего символа после этого.