Correspondance exacte des chaînes et conversion de sous-chaînes en C
Pour déterminer si une chaîne C std::string commence par une chaîne donnée, comme dans le Exemple Python fourni, utilisez la surcharge rfind qui accepte un paramètre de position de recherche. Voici comment :
<code class="cpp">std::string s = "tititoto"; if (s.rfind("titi", 0) == 0) { // pos=0 limits search to the prefix // s starts with the prefix }</code>
C 20 et versions ultérieures ont introduit la méthode startups_with, simplifiant le processus :
<code class="cpp">std::string s = "tititoto"; if (s.starts_with("titi"s)) { // "s" suffix creates a std::string_view // s starts with the prefix }</code>
Considérons maintenant la conversion int. Dans le code Python original, une sous-chaîne est extraite en utilisant la notation slice [len('--foo='):]. Pour obtenir la même chose en C , utilisez la méthode substr :
<code class="cpp">std::string argv1 = "--foo=98"; std::string foo_value_str = argv1.substr(argv1.find("=") + 1); int foo_value = std::stoi(foo_value_str);</code>
En utilisant ces techniques, vous pouvez vérifier les préfixes de chaîne et convertir efficacement les sous-chaînes en entiers en C .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!