Problemi in trasformazione char

di il
2 risposte

Problemi in trasformazione char

if(response == 'y')
                            {
                                q++;

                                char eco[] = {'_','a'+q};

                                mystring = string(eco);

                                cout << mystring;

                                outt.close();

                                sentinel = true;
                            }
Questa è una funzione che si trova in un ciclo e nella mia ingenuità dovrebbe restituire come output qualcosa come _b_c_d_e_f ecc. In realtà l'output che si presenta è qualcosa del genere _b(geroglifici incomprensibili)_c(geroglifici incomprensibili) e così via. Perché? Cosa sbaglio?

2 Risposte

  • Re: Problemi in trasformazione char

    Manca il terminatore. Per il compilatore quello è un array di char, non una ASCIIZ string.
    
    char eco[] = {'_','a'+q,0};
    
    Comunque potresti fare:
    
    string mystring = "_a";
    mystring[1]+=q;
    
  • Re: Problemi in trasformazione char

    Il terminatore! Grazie mille, sono stato un stupido a non pensarci!
Devi accedere o registrarti per scrivere nel forum
2 risposte