Анализ документа , C

#c #parsing #strtok

Вопрос:

Мне нужно проанализировать документ на языке Си. Я собирался использовать функцию strtok, но я не знаю, лучший ли это метод или достаточно просто системы токенов (поиск n, пробел и т.д.).

Структура каждой строки документа такова : элемент n элемент «x».

спасибо 🙂

Комментарии:

1. Ваше определение строки немного не согласуется с обычным определением строки C: «группа символов, заканчивающихся (и включающих) a 'n' «. Вам придется проделать дополнительную работу, чтобы справиться со встроенным 'n' в вашу «линию».

Ответ №1:

Система токенов, если все в порядке, strtok является просто реализацией этого. Тем не менее, вам лучше использовать strtok_r то, что не сохраняет никакого внутреннего состояния вне контроля вашей программы.

Ответ №2:

Я не помню подробностей, но я видел в нескольких источниках, что strtok был небезопасной работой. Тебе было бы лучше свернуть свой собственный, если ты спросишь меня.

Комментарии:

1. strtok() не является реентерабельным. Тем не менее, вы можете использовать strtok_r() , что нормально.

2. strtok() это прекрасно, если ваша программа не использует потоки общей памяти.