J'essaie de convertir une chaîne que j'ai lue d'un fichier en une valeur int afin de pouvoir la stocker dans une variable entière. C'est ce que mon code ressemble à:convertir la chaîne en int en C++
ifstream sin;
sin.open("movie_output.txt");
string line;
getline(sin,line);
myMovie.setYear(atoi(line));
Ici, setYear est un mutator dans la classe Movie (myMovie est un objet de classe Movie) qui ressemble à ceci:
void Movie::setYear(unsigned int year)
{
year_ = year;
}
Quand je lance le code, je reçois l'erreur suivante:
error C2664: 'atoi' : cannot convert parameter 1 from 'std::string' to 'const char *'
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Il est comme un de ces messages du forum récurrents. Nous devrions simplement les synchroniser avec des réponses récurrentes et tout le monde sera content. – wilhelmtell
... puis ajoutez la même réponse de commentaire habituelle pour ceux qui suggèrent d'utiliser 'atoi()', et serons alors sérieusement tous enflés. – wilhelmtell
@wilhelmtell: Si vous pouvez trouver un duplicata, n'hésitez pas à marquer comme tel ... –