Mam bufor, który otrzymuję przez port szeregowy. Kiedy otrzymuję określony znak, wiem, że nadszedł pełny wiersz i chcę go wydrukować za pomocą metody printf
. Ale każda linia ma inną wartość długości, a kiedy po prostu iść z:Printf bufor o wartości podanej w C
printf("%s", buffer);
ja Drukowanie linii plus dodatkowe znaki należące do dawnej linii (jeśli był dłuższy niż obecnie).
Czytam , że jest możliwe, przynajmniej w C++, aby powiedzieć, ile znaków chcesz przeczytać, biorąc pod uwagę %s
, ale nie ma przykładów i nie wiem jak to zrobić w C. Każda pomoc ?
EDYCJA: Idealna. Więc mam trzy rozwiązania: - drukowanie char przez char z for
pętli - używając znaku kończącego - lub za pomocą *
pytanie brzmi:. Która z nich jest szybszy? Ponieważ pracuję nad mikroprocesorem PIC i chcę, żeby to się stało tak szybko jak to możliwe
Kiedy już otrzymała to * "pewną postacią" * i zostały dołączone go 'buffer', dołącz znak null (' \ 0'), jak również. To "mówi" 'sprintf()' kiedy przestać drukować znaki. –