Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841

    [c/c++] lavoro su stringa

    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

  2. #2
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    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];
    }
    avevo pensato a una cosa così... avete qualche miglioria da apportare???

    mi chiedevo comunque... in c++ nn esiste qualcosa come l'explode del php??? sarebbe troppo comodo???

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    41
    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:

    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];
    }
    
    string2[(x-4)]='\0';
    spero di non aver fatto errori e di esserti stato di aiuto

  4. #4
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    grazie ora provo

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    118
    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.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.