Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: Operazioni su stringhe

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Operazioni su stringhe

    Raga dovrei aggiungere ad una stringa un valore aggiunto in ogni ciclo:

    codice:
    string s = "parole";
    
    for(int numero=0;numero<10;numero++)
    {
    string s = /* numero + s */ //e qui arriva il mio problema
    
    }
    Grazie in anticipo

    PS date un occhiata all'altra mia domanda che mi sto grattando il capo da un bel pò

  2. #2
    Devi convertire il numero in una stringa, cosa che puoi fare con gli string stream; li puoi anche usare in maniera tale che ci pensino loro ad effettuare tutte le concatenazioni, in modo da recuperare il risultato solo alla fine del ciclo:
    codice:
    ostringstream oss;
    
    oss<<"parole";
    for(int numero=0;numero<10;numero++)
        oss<<" "<<numero;
    
    string risultato = oss.str();
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Quindi

    Quindi se ho capito bene

    codice:
    include<stringstream.h>
    
    /*bla bla bla*/
    
    int a=1;
    string b;
    b=str.a;
    
    /*bla bla bla*/
    giusto?

  4. #4
    No, al di là del fatto che quel codice non ha nessun senso, non c'entra neanche nulla con la documentazione a cui ti ho rimandato e con l'esempio che ho scritto.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487
    Beh al posto di /*bla bla bla*/ intendo include, dichiarazione della funzione main. Cmq mi puoi fare un esempio di tale conversione delle stringhe.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Il problema non è il bla.bla ma, ad esempio, questa

    b=str.a;

    Che vuol dire?

    E la

    ostringstream

    dov'è finita?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Originariamente inviato da kirakira93
    Beh al posto di /*bla bla bla*/ intendo include, dichiarazione della funzione main.
    Quello l'avevo intuito, ma comunque il codice lì in mezzo è sbagliato, e anche l'include non è corretto.
    Cmq mi puoi fare un esempio di tale conversione delle stringhe.
    In generale devi usare uno stringstream, ossia uno stream che invece di scrivere su un file o sullo schermo alla fine ti restituisce l'output sotto forma di stringa; un cout per le stringhe, per intenderci. Per l'esempio, guarda il mio post di prima, poco dopo averlo inviato ho aggiunto del codice di esempio.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    ecco

    forse è meglio che spiego a cosa mi serve:
    vorrei fare un ciclo richiamato 5 volte e in ogni ciclo si richiama questa api:

    CopyFile("percorso\\testo.txt","percorso\\testo"+n umero+".txt",0);

    in questo modo si creano 5 file: testo1.txt, testo2.txt, testo3.txt, etc

  9. #9
    codice:
    #include <sstream>
    //...
    
    ostringstream os;
    for(int i=0; i<6; i++)
    {
        os.str("percorso\\testo");
        os<<i<<".txt";
        CopyFile("percorso\\testo.txt",os.str().c_str(),0);
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Adesso lo provo

    adesso lo provo cmq hai qualche idea per l'altro mio problema?

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.