View Single Post
Old 25-07-2010, 12:18   #4
Albi89
Senior Member
 
Iscritto dal: May 2004
Cittā: Napoli
Messaggi: 773
Quote:
Originariamente inviato da Opcode Guarda i messaggi
Caspita che problema tedioso +
Purtroppo non ho possibilitā di restituire direttamente una stringa in quanto il risultato č utilizzato come parametro per altre funzioni C, comunque la soluzione che mi hai proposto ha funzionato alla grande

Mi ero dimenticato dello scope della variabile, e sinceramente, pensavo che il risultato di c_str() fosse permanente, non dipendente dalla classe.

Grazie mille, mi hai risparmiato un'altra giornata di grattacapi
No, anzi, il puntatore restituito da c_str() č invalidato anche all'interno dello scope se la std::string viene modificata (almeno "da standard", se poi risulti ancora utilizzabile in alcuni casi non lo so, ma non bisogna farci affidamento).
Se č necessario riutilizzarne il contenuto, bisogna per forza copiarlo.
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.
--Gerald Weinberg
Albi89 č offline   Rispondi citando il messaggio o parte di esso