Donc, j'ai écrit cela en C, donc sscanf scanne en s, mais le supprime, puis scanne en d et le stocke. Donc si l'entrée est "Hello 007", Hello est scanné mais rejeté et 007 est stocké dans d.C++ CIN vs C sscanf
static void cmd_test(const char *s)
{
int d = maxdepth;
sscanf(s, "%*s%d", &d);
}
Donc, ma question est comment puis-je faire la même chose mais en C++? éventuellement en utilisant stringstream?
Peut-être que le changement de l'argument de 'const char *' 'un istringstream' est un peu lourd? –
+1 pour avoir mentionné la gestion des erreurs. – ildjarn
@ChristianRau: Qui sait ... l'OP semble être sur le cas concernant les flux de chaînes, peut-être qu'il a déjà un flux qui traîne quelque part. Sinon, vous pouvez en construire un à partir d'un 'const char *' si vous préférez. J'ai ajouté un commentaire. –