Ti ringrazio ancora una volta.
Giusto per completezza, ho provato a fare come dici ( e funziona) ma se volessi prendere in un stringa (che è appunto vista come un'array di caratteri) un solo numero come dovrei fare? ho provato così; dichiarando un puntatore a carattere per prender l'indirizzo di memoria della della cella dove giace il carattere che voglio convertire in int ma niente mi da un errore posto qui il codice:
#include <iostream>
#include <string>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
string x="1234890";
int y=0;
char *a=&x[0];
cout << '\n';
y=atoi (x.c_str(*a)); //ho messo l'asterisco in quanto dovrei ottenere il contenuto del puntatore e non l'indirizzo hex, questa è la riga dove spunta l'errore.
cout << y<< endl;
return 0;
}
L'errore in questione dice:
no matching function for call to std::__cxxll::basic_string<char>::c_str(char&)
sinceramente non riesco a capire.