Mam ciąg znaków, który wygląda tak:sscanf uzyskać wartość pozostałego ciąg
"HELLO 200 Now some random text\n now more text\t\t"
próbuję uzyskać Witam, 200, a pozostałe ciąg. Niestety ciąg może zawierać \n
i \t
, więc nie mogę użyć %[^\n\t]
.
Próbowałem następujące podejście:
char message[MESSAGE_SIZE], response[RESPONSE_SIZE];
int status;
sscanf (str, "%s %d %[^\0]", message, &status, response);
potem zmienne to:
message = "HELLO", status = 200, response = "HELLO 200 Now some random text\n now more text\t\t"
Czy istnieje sposób to zrobić bez strtok?
Teraz, gdy osiągnąłeś cel, używając '"% s% d% [^ \ 0] "", jakie jest twoje pytanie? –
Nie osiągnęło mojego celu, odpowiedź nie ma pożądanej wartości. Odpowiedź powinna brzmieć "Teraz losowy tekst \ n teraz więcej tekstu \ t \ t" bez HELLO i kodu statusu –
Na moim komputerze, 'odpowiedź' jest dokładnie" Nie ma losowego tekstu \ n teraz więcej tekstu \ t \ t " –