Ceci est de convertir chaîne en nombre.
#include "stdafx.h"
#include <iostream>
#include <string>
#include <sstream>
int convert_string_to_number(const std::string& st)
{
std::istringstream stringinfo(st);
int num = 0;
stringinfo >> num;
return num;
}
int main()
{
int number = 0;
std::string number_as_string("425");
number = convert_string_to_number(number_as_string);
std::cout << "The number is " << number << std::endl;
std::cout << "Number of digits are " << number_as_string.length() << std::endl;
}
Comme sage, ce qui suit est de convertir nombre en chaîne.
#include "stdafx.h"
#include <iostream>
#include <string>
#include <sstream>
std::string convert_number_to_string(const int& number_to_convert)
{
std::ostringstream os;
os << number_to_convert;
return (os.str());
}
int main()
{
int number = 425;
std::string stringafterconversion;
stringafterconversion = convert_number_to_string(number);
std::cout << "After conversion " << stringafterconversion << std::endl;
std::cout << "Number of digits are " << stringafterconversion.length() << std::endl;
}
Ick ... '#include" stdafx.h "'? Vous avez besoin des trois autres, mais vous pouvez certainement vous passer de 'stdafx.h'. Oh, et 'main' est supposé retourner un entier. –
@D. Shawley: C++ a en fait une règle disant que 'main' est un cas spécial et peut avoir le' return 0; 'omis résultant dans le même effet que si vous l'aviez mis là. –
Que se passe-t-il si j'appelle la première fonction comme ceci: 'convert_string_to_number (" blah ")'? En l'état, cela échouera silencieusement et retournera le même que si j'avais appelé 'convert_string_to_number (" 0 ")'. C'est un "-1" définitif de moi. – sbi