Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] memcpy, w miejscu docelowym pojawia się niechciany znak

Ostatnio zmodyfikowano 2015-05-13 13:10
Autor Wiadomość
kondzioku
Temat założony przez niniejszego użytkownika
[c++] memcpy, w miejscu docelowym pojawia się niechciany znak
» 2015-05-13 09:51:39
Witam.

Używam funkcji memcpy.

W tym przypadku memcpy(buf_do_wyslania, "!M+0480$", 8); po wyświetleniu buf_do_wyslania daje !M+0400$

Jednak przy sytuacji memcpy(buf_do_wyslania_4, "1234", 4); po wyświetleniu buf_do_wyslania_4 daje 1234 z niepożądanym znakiem a dokładnie uśmiechniętą buźką.

tutaj wycinek konsoli : http://zapodaj.net/89e464301f102.png.html

Czy memcpy ma granicę ile bajtów może kopiować?
P-132175
Piastlis
» 2015-05-13 09:57:26
A to pewnie chodzi o sposób wyświetlania tekstu.Wyświetlasz jako char[] czy string? Jeżeli string to ma samym końcu musi być zero. Albo "znak po znaku".
P-132176
akwes
» 2015-05-13 10:48:58
A z jakiego powodu nie kopiujesz znaku końca łańcucha znakowego? "a" to dwa elementy: ['a']['\0']
P-132179
kondzioku
Temat założony przez niniejszego użytkownika
» 2015-05-13 13:10:53
z tym sobie poradziłem, na ostatnie miejsce łańcucha wrzucam 0, reszta się zeruje. Ale mam kolejny problem. Wykorzystuję UART do komunikacji po USB. Program może raz wysłać porcję bajtów po czym zatrzymuje się, tzn nie chce w kolejnej pętli wysłać kolejnych komunikatów.

wykorzystuję bibliotekę http://www.teuniz.net/RS-232/

do wysyłania używam Sendbuff, odbierania PollCmport.
P-132182
« 1 »
  Strona 1 z 1