Originariamente inviato da Squall1988
x leggere anke gli spazi usa cin.getline()
però quando lo compilo dando (il file è jin.c) g++ d:\jin.c -o JIN, mi dà questo errore:
codice:
d:/jin.c: In function `int inserisci()':
d:/jin.c:37: error: no matching function for call to
`std::basic_istream<char,
std::char_traits<char> >::getline()'
../include/c++/3.3.1/bits/istream.tcc:664:
error: candidates are:
std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
_Traits>::getline(_CharT*, int, _CharT)
[with _CharT = char, _Traits =
std::char_traits<char>]
../include/c++/3.3.1/istream:401: error:
std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
_Traits>::getline(_CharT*, int) [with _CharT = char, _Traits =
std::char_traits<char>]
la funzione incriminata è questa:
codice:
...
int inserisci()
{
char nom[10];
char cog[10];
char nck[10];
char via[10];
char tel[10];
char cel[10];
char mai[10];
cout << "Nome: ";
cin >> nom;
cout << "Cognome: ";
cin >> cog;
cout << "Nickname: ";
cin >> nck;
cout << "Via: ";
cin.getline() >> via;
cout << "Telefono: ";
cin >> tel;
cout << "Cellulare: ";
cin >> cel;
cout << "E-mail: ";
cin >> mai;
scrivi(nom, cog, nck, via, tel, cel, mai);
return (0);
}
...
cos'è che non va?
la riga in bold, col getline() che mi diceva Squall1988, è scritta giusta?