2011-10-25 4 views
1

J'ai la fonction suivante:C++ alternative à sscanf()

static void cmd_test(char *s) 
{ 
    int d = maxdepth; 
    sscanf(s, "%*s%d", &d); 
    root_search(d); 
    } 

Comment puis-je obtenir la même sortie dans un C++ manière, plutôt que d'utiliser sscanf?

Répondre

6
int d = maxdepth; 
sscanf(s, "%*s%d", &d); 

Lit une chaîne (qui ne stocke pas partout) et lit un entier décimal. L'utilisation des flux serait:

std::string dont_care; 
int d = maxdepth; 

std::istringstream stream(s); 
stream >> dont_care >> d; 
+0

JE ME: std :: flux istringstream » mais le type a initialiseur incomplète erreur – user975900

+2

@ user975900: Vous devez' '#include