Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286

    [C++] concatenare più stringhe

    Il mio problema è semplice e sicuramente anche banale. Non riesco a creare una stringa composta da più stringe e da altrettante variabili di tipo stringa.

    Questa è la mia stringa di partenza:
    codice:
       String* line = "Primo,Secondo,Terzo"
    ..e la divido in tre parti:
    codice:
          {
    	Char delimiter[] = {','};
    	String* myStr[] = line->Split(delimiter);
          }
    Ottengo:

    myStr[0] contiene "Primo"
    myStr[1] contiene "Secodo"
    myStr[2] contiene "Terzo"

    ora io vorrei ricomporre una'altra stringa aggiungendo "X", "Y" e "Z" affinché il suo contenuto sia:

    "XPrimo YSecondo ZTerzo"

    Non riesco a trovare la sintassi giusta per concatenare le varie stringhe elementari.

    Grazie anticipate.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quale compilatore stai usando?

    E la classe String?

  3. #3

    Re: [C++] concatenare più stringhe

    Originariamente inviato da Paulin
    ...
    ora io vorrei ricomporre una'altra stringa aggiungendo "X", "Y" e "Z" affinché il suo contenuto sia:

    "XPrimo YSecondo ZTerzo"

    Non riesco a trovare la sintassi giusta per concatenare le varie stringhe elementari.

    Grazie anticipate.
    Suppongo tu stia usando il C++ Builder

    In questo caso, potresti fare così :
    codice:
        String s = "X" + myStr[0] + " Y" + myStr[1] + " Z" + myStr[2];
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286
    In effetti avrei fatto bene a precisare che sto adoperando il Visual C++.Net, la classe è String.

    Avevo anche tentalo di comporre come consigliato da Samuele...
    codice:
       String* sline = "X" + myStr[0] + " Y" + myStr[1] + " Z" + myStr[2];
    ...ma il mio compiler mi restituisce errore dicendomi che non posso addizionare i puntatori.

    Questa sintassi invece la prende...
    codice:
       String* sline = ("X", myStr[0], " Y", myStr[1], " Z", myStr[2]);
    ...ma all'ouput arriva solo l'ultima stringa e non tutta la serie concatenata (probabilmente perché le sovrascrive tutte sullo stesso buffer).

    System::String.CiStòLavorandoSopra( :master: );

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    codice:
    String* sline = String::Concat(String::Concat("X", myStr[0], " Y", myStr[1]), " Z", myStr[2]);

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286
    That's incredible, oregon! Così funzia!!!

    Funziona anche con la scrittura:

    codice:
    	String* sline = String::Concat(S"X", myStr[0], S" Y", myStr[1], S" Z", myStr[2]);
    Grazie per l'aiuto!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.