У меня есть буфер, который я получаю через последовательный порт. Когда я получаю определенный символ, я знаю, что пришла полная строка, и я хочу напечатать ее методом printf
. Но каждая строка имеет различное значение длины, и когда я просто иду с:
printf("%s", buffer);
Я печатаю строку плюс дополнительные символы, принадлежащие предыдущей строке (если она была длиннее текущей).
Я прочитал здесь , что возможно, по крайней мере в C ++, сказать, сколько символов вы хотите прочитать, учитывая %s
, но в нем нет примеров, и я не знаю, как сделать это в C. Любая помощь?
РЕДАКТИРОВАТЬ: Отлично. Итак, у меня есть три решения:
- печать символа на символе с петлей for
- используя символ завершения
- или используя. *
ВОПРОС: Какой из них быстрее? Потому что я работаю над PIC на микрочипе и хочу, чтобы это произошло как можно быстрее