Maison >développement back-end >C++ >Comment puis-je répliquer les fonctionnalités startupswith() et sous-chaîne en entier de Python en C ?

Comment puis-je répliquer les fonctionnalités startupswith() et sous-chaîne en entier de Python en C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-03 06:19:03415parcourir

How can I replicate Python's startswith() and substring-to-integer functionality in C  ?

Vérification de l'existence d'une chaîne de préfixe et conversion d'une sous-chaîne en entier en C

Un utilisateur cherche des conseils sur la mise en œuvre de la vérification du préfixe de chaîne et de la conversion des sous-chaînes de Python en C. Plus précisément, ils visent à obtenir la fonctionnalité de la méthode startupswith() de Python et la conversion de sous-chaîne en un entier.

Vérification de l'existence d'une chaîne de préfixe

Pour vérifier si une chaîne C commence avec un préfixe spécifique, exploitez la méthode rfind() avec une position de recherche de zéro. Par exemple :

<code class="cpp">std::string s = "tititoto";
if (s.rfind("titi", 0) == 0) {
  // s starts with "titi"
}</code>

En définissant la position de recherche sur zéro, la méthode rfind() vérifie uniquement le début de la chaîne. Cela permet une correspondance de préfixe efficace et précise.

Conversion d'une sous-chaîne en entier

Pour convertir une sous-chaîne en entier, utilisez la fonction stoi() :

<code class="cpp">if (s.rfind("--foo=", 0) == 0) {
    int foo_value = std::stoi(s.substr(strlen("--foo=")));
}</code>

Ce code vérifie le préfixe "--foo=" et, s'il est trouvé, extrait la sous-chaîne à partir de sa fin (après le caractère "=") et la convertit en un entier à l'aide de stoi().

Mise à jour : intégration Boost

L'utilisateur exprime sa réticence à utiliser Boost. Ils sont cependant libres de l’utiliser s’ils le souhaitent. Boost fournit des capacités supplémentaires de manipulation de chaînes, notamment les fonctionnalités start_with() et stoi() dans sa bibliothèque Spirit.

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!

Déclaration:
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