Originariamente inviato da madmax84
vorrei sapare se la funzione getline è inclusa nella libreria
#include<iostream.h>.
inoltre come mai quando scrivo
string nome_autore;
getline(cin,nome_autore);
mi dà errore
Che compilatore usi?
Comunque, il metodo è corretto, in quanto la classe string
si espande automaticamente, quando la funzione getline accoda un nuovo carattere, e di solito questa espansione non prevede una nuova allocazione per ogni carattere accodato.
(per ragioni di efficienza, le implementazioni più comuni raddoppiano la dimensione dell'array che contiene la stringa, ogni volta che l'array non riesce più a contenere tutti i caratteri della stringa)
vedi se questo ti funziona
codice:
#include <iostream>
#include <string>
#include <limits>
using namespace std;
int main()
{
string nome_autore;
cout << "autore: ";
getline(cin, nome_autore);
cout << "Nome dell'autore: " << nome_autore << endl;
return 0;
}
La include segnalata in blue è necessaria, se stai usando Visual C++, altrimenti non funziona correttamente.