Salve, ho un problema, non riesco ad assegnare ad un array di caratteri il valore di una stringa, mi spiego meglio, questo è quello che vorrei fare:

    getline(input,appoggio); //prende il testo scritto in codice.txt e lo mette nella variabile appoggio
    int Lcod = appoggio.size();
    char codice[Lcod];
    strcpy(codice, appoggio);

Il mio obiettivo sarebbe di prendere dal file codice.txt tutto quello che c'è scritto e inserirlo in un array, ma fatto in questo modo mi dà quest'errore che non so come risolvere:

main.cpp:28:25: error: cannot convert ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘const char*’ for argument ‘2’ to ‘char* strcpy(char*, const char*)’

Come posso risolvere? Spero di essere stato abbastanza chiaro

chiesto 05 Jan '17, 17:47

carru93's gravatar image

carru93
28447

@carru93: potresti postare un pezzo di codice minimale, ma completo, che presenti il dato errore?

(06 Jan '17, 08:54) enzotib ♦♦ enzotib's gravatar image

Devi estrarre la stringa C dalla stringa STL, cioè la riga

strcpy(codice, appoggio);

va sostituita con

strcpy(codice, appoggio.c_str());
coll. permanente

ha risposto 06 Jan '17, 08:59

enzotib's gravatar image

enzotib ♦♦
14.1k113187

ok grazie mille funziona!

(07 Jan '17, 13:29) carru93 carru93's gravatar image

@carru93: non usare le risposte, usa i commenti. Inoltre, se la risposta come sembra ha risolto il tuo problema, dovresti accettarla.

(07 Jan '17, 14:34) enzotib ♦♦ enzotib's gravatar image

in che senso accettarla?

(08 Jan '17, 15:43) carru93 carru93's gravatar image

@carru93: su questo sito le regole sono diverse da quelle di un forum (a tal proposito potresti leggere il manuale e/o il regolamento, di cui trovi i link in questa pagina in alto a destra). Per segnalare che una risposta ha risolto il problema bisogna accettarla, cioè l'utente che ha posto la domanda può cliccare sul segno di spunta che si trova a sinistra della risposta, sotto il punteggio della risposta stessa.

(08 Jan '17, 19:51) enzotib ♦♦ enzotib's gravatar image
La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×109
×36

domanda posta: 05 Jan '17, 17:47

domanda visualizzata: 1,851 volte

ultimo aggiornamento: 08 Jan '17, 19:51

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.