Voglio creare un programma che leggerà un numero in formato stringa e lo produrrà in questo modo: se il numero è 12345, dovrebbe emettere 12 23 34 45. Ho provato ad usare la funzione substr() della libreria di stringhe C++, ma mi dà strani risultati: emette 1 23 345 45 invece del risultato atteso. Perché ?Come utilizzare la funzione string.substr()?
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main(void)
{
string a;
cin >> a;
string b;
int c;
for(int i=0;i<a.size()-1;++i)
{
b = a.substr(i,i+1);
c = atoi(b.c_str());
cout << c << " ";
}
cout << endl;
return 0;
}
['atoi' non deve essere utilizzato] (http://stackoverflow.com/q/17710018/995714) –