Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C++] Convertire un singolo char a str!

    Ciao a tutti!
    Mi sono appena immerso nel linguaggio c++.
    Ho implementato il seguente codice e
    volevo convertire un singolo carattere(char) in un
    puntatore stringa(*char).

    codice:
     
    char ac1[]="l";
    char ac2[]="d";
    
    char* as1=new char[0];
    char* as2=new char[0];
    
    as1=ac1;
    as2=ac2;
    In questo modo sono riuscito ad avere due stringhe "as1" ed "as2"(char*)
    che contengono due singoli caratteri; ma il problema è che gli array contenenti le costanti ac1 e ac2(char) non sono modificabili tramite variabili!

    Come posso risolvere questo problema?

    Grazie, aspetto una risposta chiarificatoria! ciao!
    jabjoint

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    non ho capito bene cosa vuoi fare e qual è il tuo problema..

    inoltre non serve isantazie i puntatori come char[0] visto che poi li fai puntatre agli arry prima creati.

    Quindi puoi fare quacosa tipo:

    char ac1[]="l";

    char* as1 = ac1;

    per far puntare as1 a ac1, ma perche on usare direttamente ac1? o vuoi allocare della memoria a parte per as1, separata da quella di ac1?

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3
    Grazie per avermi risposto...

    sono riuscito a fare una funzione che somma 2 stringhe!(*char)
    Ora il mio problema era quello di passare ai due parametri della funzione(che accetta 2 parametri *char stringe) due singoli char!

    esempio se faccio:

    *char a;
    *char b;
    *char ab;
    ab=addstr(a,b)
    ritorna ab!

    cosi funziona, ma non posso passare singoli 'char'!

    quindi dovrei trasformare il 'char' in "*char"!

    oppure riuscire a fare una funzione che sommi 2 chr, ma non sono capace, sono agli inizi!

    Grazie
    jabjoint

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    per passare due singoli caratteri invoca la funzione cosi:

    char a = "a";
    char b = "b";

    ab=addstr(a,b);

    oppure cosi:

    char a[2];
    //carattere di fine stringa
    a[1] = '\0';
    a[0] = ...il carattere che vuoi passare
    char b = ....la stessa cosa fatta per a

    ab=addstr(a,b);

    oppure puoi ridefinire la funzione anche per singoli caratteri


    poi tieni presente che una cosa è un singolo carattere, una cosa è un array di caratteri che contiene un singolo carattere, una cosa è una stringa che è un array di caratteri che deve terminare con un carattere vuoto '\0'

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  5. #5
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    usale la classe string no eh?
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  6. #6
    come si utilizza la classe string?
    jabjoint

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    #include <iostream>
    #include <string>

    using namespace std;

    int main(int argc, char* argv[])
    {
    string s;

    s = "Ciao";

    cout << s << endl;

    s = s + " a tutti";

    cout << s << endl;

    return 0;
    }

    Per i dettagli, consulta un help sulla classe strandard string.
    Non e' possibile riportare tutto il funzionamento in un messaggio ...

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.