Printf буфер символов длиной в C

У меня есть буфер, который я получаю через последовательный порт. Когда я получаю определенный символ, я знаю, что прибыла полная строка, и я хочу напечатать ее с помощью метода printf . Но каждая строка имеет разное значение длины, и когда я просто использую:

printf("%s", buffer);

, я печатаю строку плюс дополнительные символы, принадлежащие предыдущей строке (если она была длиннее текущей).

Я прочитал здесь , что можно, по крайней мере, на C ++, указать, сколько символов вы хотите прочитать, используя % s , но в нем нет примеров, и я не Не знаю, как это сделать в C. Любая помощь?

Думаю, у меня есть три решения:

  • печать char за char с помощью цикла for
  • с использованием символа завершения
  • или используя. *

ВОПРОС: Какой из них быстрее? Потому что я работаю над PIC микрочипа и хочу, чтобы это произошло как можно быстрее

18
задан jww 15 November 2019 в 23:55
поделиться