View Full Version : [c++]string split
oettam190
11-08-2010, 15:32
ho scritto un programma nel quale l' utente deve inserire vari valori(1 o 0) che vengono inseriti in un array per evitare di obbligarlo ad inserirli 1 esiste una funzione che partendo da una stringa ti divide in un array i vari elementi?
esempio:l' utente inserisce 1011 e dopo la funzione viene fatto questo array:
array[0]=1
array[1]=0
array[2]=1
array[3]=1
non conoscendo la sintassi del c++ ti direi di contare i caratteri costruire un nuovo array lungo quel che serve e riempirlo...
una cosa tipo...
string stringa = "1011";
int num = stringa.Lenght();
int[] Array = new int[num];
for(int i = 0;i<num;i++)
{
Array[i] = int.Parse(stringa[num]);
}
Non so se c++ veda le stringhe come array di caratteri implicitamente, se così non fosse dovresti convertirlo in array di char tu stesso oppure usare un substring tipo
Array[i] = stringa.Substring(num,1)
ripeto non conosco il c++, ho solo cercato dare al nostro amico una traccia sulla quale iniziare.
Se tu fossi così gentile da rispondere in maniera comprensibile anche a chi non conosce un particolare linguaggio non potrebbe che giovarne l'intero forum.
Ad ogni modo grazie per la risposta.
La stringa è già un array...
Non so se c++ veda le stringhe come array di caratteri implicitamente, se così non fosse ...[/CODE]
Infatti lo supponevo nel mio esempio e l'ho anche scritto.....
non conosco il c++ ripeto....
era solo una traccia.....
DanieleC88
12-08-2010, 09:58
Infatti lo supponevo nel mio esempio e l'ho anche scritto.....
non conosco il c++ ripeto....
era solo una traccia.....
Penso che cionci volesse rispondere all'autore del quesito... non te la prendere. :D
pabloski
12-08-2010, 10:20
Non capisco perchè ha creato una funzione per riempire un array. Le stringhe sia quelle di classe string che i char* sono array. Puoi fare ad esempio così
string alfa = "1011";
int num = alfa.length();
for (int i=0; i<num; i++) cout << alfa[i] << "\n";
Questo codice ti stampa tutti i caratteri contenuti nella stringa e l'accesso avviene tramite indice come per gli array.
Non capisco perchè ha creato una funzione per riempire un array. Le stringhe sia quelle di classe string che i char* sono array
:D :D A volte mi sembra di non parlare Italiano..... bah..... sembra che ognuno voglia per forza aggiungere un pezzettino.....
oettam190
12-08-2010, 16:27
grazie mille a tutti:D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.