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