uno dei modi (come al solito) per fare quello che dici è questo :
C++ Programming
#include <stdlib.h>
...
...
b = atoi(x.c_str());
nota inoltre che c'è un errore anche nella funzione "esiste_numero" in quanto la comparazione che stai facendo con x>="0" e x<="999999" la stai facendo tra stringhe e non tra numeri quindi non ti tornerà il risultato sperato, ad esempio per lui 9 è > 10 tanto per dire!
quindi ti conviene convertire subito x in intero e quindi fare tutti i ragionamenti con l'intero e quindi anche la funzione esiste_numero farla in modo che si aspetti un intero