Maison > développement back-end > C++ > le corps du texte

Comment le rfind de std::string peut-il être utilisé pour rechercher un préfixe et convertir une sous-chaîne en entier ?

Linda Hamilton
Libérer: 2024-11-01 19:41:30
original
575 Les gens l'ont consulté

How can std::string's rfind be used to check for a prefix and convert a substring to an integer?

Utilisation des surcharges rfind de std::string pour vérifier le préfixe et convertir la sous-chaîne en Int

Pour déterminer si une chaîne C std::string commence avec une chaîne spécifique et convertir une sous-chaîne en entier, vous pouvez tirer parti du rfind surchargé function.

Vérification du préfixe de chaîne

Utilisez la surcharge rfind qui accepte un paramètre de position de recherche (pos). La définition de ce paramètre sur zéro restreint la recherche au début de la chaîne :

<code class="cpp">std::string s = "tititoto";
if (s.rfind("titi", 0) == 0) {
  // The string s starts with the "titi" prefix.
}</code>
Copier après la connexion

Conversion de la sous-chaîne en Int

Pour extraire une sous-chaîne après un préfixe connu et la convertir en un entier, vous pouvez utiliser une combinaison de rfind et substr :

<code class="cpp">std::string arg = "--foo=98";
size_t pos = arg.rfind("--foo=");
if (pos != std::string::npos) {
  std::string fooValue = arg.substr(pos + len("--foo="));
  int value = std::stoi(fooValue);
}</code>
Copier après la connexion

Dans cet exemple, si arg est "--foo=98", la valeur variable se verra attribuer la valeur entière 98.

Avantage STL

Cette approche évite le besoin de bibliothèques externes comme Boost. Il utilise les manipulations de chaînes standard fournies par la STL, qui sont simples à mettre en œuvre et efficaces.

Simplification C 20

En C 20 et versions ultérieures, le std :: Les classes string et std::string_view introduisent la méthode startups_with, ce qui rend la vérification d'un préfixe encore plus simple :

<code class="cpp">std::string s = "tititoto";
if (s.starts_with("titi")) {
  // The string s starts with the "titi" prefix.
}</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!