Salve,
sapete come fare a dividere il contenuto di una stringa in più variabili?
io provavo così ma sembra non funzionare:
sscanf(buffer,"%s - %s\n",&a,&b);
considernado che buffer è una stringa formata così: "stringa1 - stringa2"
GRazie
Salve,
sapete come fare a dividere il contenuto di una stringa in più variabili?
io provavo così ma sembra non funzionare:
sscanf(buffer,"%s - %s\n",&a,&b);
considernado che buffer è una stringa formata così: "stringa1 - stringa2"
GRazie
Prova così :
codice:#include <stdio.h> int main() { char str[80]="stringa1 - stringa2"; char str1[80], str2[80]; sscanf( str, "%s - %s", str1, str2); printf("parte1 = '%s'\n", str1); printf("parte2 = '%s'\n", str2); return 0; }
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.
Scusate di nuovo, è lo stesso problema, ma un pò più allargato...
Se invece ho una stringa formata in questo modo: "stringa1 stringa2 Moltestringhe.."
come potrei fare a prendere il contenuto sia di stringa1, di stringa2 ed anche di MolteStringhe??
Moltestringhe è l intero contenuto di un file testuale.
Ho provato così :
sscanf(buffer,"%s %d %s",file, &a, fileCont);
ma a quanto pare in fileCont mette solo la prima parola che trova(dopo l'intero) fino allo spazio.
Grazie
Prova in quest'altro modo.
codice:#include <stdio.h> int main() { char str[]="stringa1 1234567 stringa2 stringa3 stringa4 stringa5"; char str1[80], str2[80]; int a; sscanf( str, "%s %d %[ -~]s", str1, &a, str2); printf("Stringa1 = '%s'\n", str1); printf("intero = '%d'\n", a); printf("Stringa2 = '%s'\n", str2); return 0; }
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.
Scusa per il ritardo ho potuto provare solo ora.
Dunque funziona ma solo per una riga, se il contenuto di Moltestringhe e' un testo su piu' righe,
in quel modo prende solo la prima riga, invece dovrebbe prendere tutto quello che trova...
Sai come fare per risolvere??
Facciamo molto prima (entrambe ) se riporti un esempio pertinente di come si
presenta effettivamente la stringa (a questo punto sarebbe meglio chiamarlo buffer).
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.
Il buffer(come l'ho sempre chiamato negli esempi di codice postati ) si presenta come ti ho detto, cioè "stringa intero contenuto_file_testuale". Il problema è che con l'ultima soluzione mi prendeva solo la prima riga del file e non anche tutte le altre.Originariamente inviato da Samuele_70
Facciamo molto prima (entrambe ) se riporti un esempio pertinente di come si
presenta effettivamente la stringa (a questo punto sarebbe meglio chiamarlo buffer).
Forse quello che si voleva sapere e' qualche dettaglio sul contenuto della stringa.
Quando parli di "piu' righe" significa che tra le stringhe rimanenti esistono dei caratteri CR / LF ... ?
e come faccio a saperlo??Originariamente inviato da oregon
Forse quello che si voleva sapere e' qualche dettaglio sul contenuto della stringa.
Quando parli di "piu' righe" significa che tra le stringhe rimanenti esistono dei caratteri CR / LF ... ?
posso dirti che il contenuto del file è stato messo dentro il buffer tramite una lettura
fatta con fread(....), di più non sò...spero possa essere utile