Mam następujący problem: dostaję ciąg znaków z rs'a, który zapisują do jednej zmiennej i chcę z tego ciągu wyciągnąć dwa podciągi i zapisać je do jednego wiersza tabeli struktur.
Definicje:
No i teraz chciałbym przekazać do np. bt_devices[1].name to co jest w stringu uart_rs_buffer od 3 do 19 bajtu, a do bt_devices[1].id to co jest od 21 do 34 - jaką komendą mam to zrobić?
Na razie mam:
Ale nie działa. Domyślam się, że nie potrafię dopasować typów, użyć w odpowiednim miejscu wskaźnika... Ktoś jest w stanie mi pomóc?
Aha, tutaj jest cały kod: http://rafb.net/p/S4xE0t37.html
Gdy jest tak jak w nim, to też jakieś cuda się dzieją...
Definicje:
//przed main:
#define UART_MAXBUFF 37
char uart_rx_buffer[UART_MAXBUFF+1];
//w main:
char bufor[20] = "";
volatile typedef struct ram_structure
{
char name[17];
char id[15];
} bt_device;
bt_device bt_devices[10];
No i teraz chciałbym przekazać do np. bt_devices[1].name to co jest w stringu uart_rs_buffer od 3 do 19 bajtu, a do bt_devices[1].id to co jest od 21 do 34 - jaką komendą mam to zrobić?
Na razie mam:
strncpy(bufor, uart_rx_buffer+3, 16);
bufor[17] = 0;
*bt_devices[i].name = bufor;
strncpy(bufor, uart_rx_buffer+21, 14);
bufor[15] = 0;
*bt_devices[i].id = bufor;
Ale nie działa. Domyślam się, że nie potrafię dopasować typów, użyć w odpowiednim miejscu wskaźnika... Ktoś jest w stanie mi pomóc?
Aha, tutaj jest cały kod: http://rafb.net/p/S4xE0t37.html
Gdy jest tak jak w nim, to też jakieś cuda się dzieją...