Разделить сообщение на мелкие с сохранением разделителя
Есть код к примеру:
char str[] = "%fds%f%dssa%sss";
char* tokenStr = strtok(buffer, "%");
while (tokenStr != NULL)
{
tokenStr = ...//сохранение в другую переменную или какие-то действия
tokenStr = strtok(NULL, "%");
}
вывод:
fds
f
dssa
sss
но необходимо сохранить % в сообщении. Ожидаемый вывод:
%fds
%f
%dssa
%sss
Вопрос заключается в том, что я не могу использовать пространство имен std и стандартные библиотеки типа string и вектор. Ограничения связаны с тем, что пишу программу для контроллера Pixhawk, и там нет реализации стандартных бибилиотек. https://ardupilot.org/dev/docs/style-guide.html#no-standard-library.
Одна из идей при сохранении tokenStrв другую переменную на позицию [0] помещать желаемый %, но мне кажется не очень здравой идеей.