io ho una stringa:dir "c:\prova prova" dove la parte dopo dir è variabile e di variabile lunghezza: come faccio a creare un altra stringa contenente solo la senconda parte ovvero quella dopo dir???
grazie
io ho una stringa:dir "c:\prova prova" dove la parte dopo dir è variabile e di variabile lunghezza: come faccio a creare un altra stringa contenente solo la senconda parte ovvero quella dopo dir???
grazie
avevo pensato a una cosa così... avete qualche miglioria da apportare???codice:char string[2000] = "dir \"c:\prova prova\""; char string2[2000]; int x; for (x=4; x < sizeof(string) ; x++) { string2[(x-4)]=string[x]; }
mi chiedevo comunque... in c++ nn esiste qualcosa come l'explode del php??? sarebbe troppo comodo???
come fai tu dovrebbe funzionare fai attenzione solo a 2 cose :
1) Scrivere:
char string[2000] = "dir \"c:\prova prova\"";
è sbagliato perchè non ti riconosce \ dopo c: devi scrivere:
char string[2000] = "dir \"c:\\prova prova\"";
2)Dopo il for che ti copio in string2 devi ricordarti ti terminare la stringa altrimenti si offende di brutto per le operazioni che dovrai fare dopo quindi aggiungi semplicemente dopo il for
string2[(x-4)]='\0';
quindi:
spero di non aver fatto errori e di esserti stato di aiutocodice:char string[2000] = "dir \"c:\\prova prova\""; char string2[2000]; int x; for (x=4; x < sizeof(string) ; x++) { string2[(x-4)]=string[x]; } string2[(x-4)]='\0';
grazie ora provo
se vuoi usare le stringhe dello standard hai
string a = "ciao";
Hai delle funzioni length() e substr(inizio, caratteri) con cui hai la lunghezza della stringa e con la seconda costruisci delle sottostringhe dando il carattere da dove iniziare a "tagliare" e il numero di caratteri che deve prendere a partire da inizio.