ho una stringa che assomiglia a questo:sscanf ottenere il valore della stringa rimanente
"HELLO 200 Now some random text\n now more text\t\t"
cerco di ottenere il CIAO, la 200, e la stringa rimanente. Sfortunatamente la stringa può contenere \n
e \t
così non posso usare %[^\n\t]
.
ho provato il seguente approccio:
char message[MESSAGE_SIZE], response[RESPONSE_SIZE];
int status;
sscanf (str, "%s %d %[^\0]", message, &status, response);
poi le variabili sono:
message = "HELLO", status = 200, response = "HELLO 200 Now some random text\n now more text\t\t"
C'è un modo per farlo senza strtok?
Ora che hai raggiunto il tuo obiettivo utilizzando '"% s% d% [^ \ 0] "', qual è la tua domanda ora? –
Non ha raggiunto il mio obiettivo, la risposta non ha il valore desiderato. La risposta dovrebbe essere "Ora un testo casuale \ n ora più testo \ t \ t" senza HELLO e codice di stato –
Sul mio computer, 'response' è esattamente" Nessun testo casuale \ n ora più testo \ t \ t " –