J'ai besoin de voir si mon string
correspond à "bonjour X" où X est int
."bonjour x" - chaîne comparer
Fondamentalement, je veux attraper si son "bonjour 1" ou "bonjour 100".
Comment puis-je le faire?
Modifier 0
Merci Andrea Bergia.
J'utilise votre code comme ceci:
int dummy;
if (sscanf(string, "hello %d", &dummy))
/* matched */
Merci beaucoup. Est-ce que 'scanf' est une opération coûteuse si je dois le faire plusieurs fois? Je suppose, il serait plus difficile que n'importe quelle fonction de comparaison de chaînes, correct? – hari
Si vous êtes préoccupé par les performances, utilisez un profileur et mesurez! – Frank
C'est probablement assez bon. Mais, croyez-le ou non, si l'entier correspondant est en dehors de la plage 'INT_MIN'..'INT_MAX', le comportement du code est indéfini. (En pratique, je suppose qu'il se comporte raisonnablement bien dans toutes les implémentations existantes.) –