Maison  >  Article  >  développement back-end  >  Comment déterminer si une chaîne possède un suffixe spécifique en C ?

Comment déterminer si une chaîne possède un suffixe spécifique en C ?

DDD
DDDoriginal
2024-11-01 01:35:02642parcourir

How to Determine if a String Has a Specific Suffix in C  ?

Détermination des suffixes de chaîne en C

En C, déterminer si une chaîne possède un suffixe spécifique nécessite une approche efficace et fiable. Pour répondre à ce besoin, l'article explore un moyen efficace de vérifier ces informations.

Identifier les fins de chaîne

Pour déterminer si une chaîne se termine par une sous-chaîne particulière, C propose la fonction string::compare(). Cette méthode permet la comparaison d'une plage spécifiée de caractères dans une chaîne avec une autre chaîne fournie.

Implémentation

L'extrait de code suivant démontre l'utilisation de string::compare () pour l'identification du suffixe :

<code class="cpp">#include <iostream>

bool hasEnding(std::string const &fullString, std::string const &ending) {
    if (fullString.length() >= ending.length()) {
        return (0 == fullString.compare(fullString.length() - ending.length(), ending.length(), ending));
    } else {
        return false;
    }
}</code>

Cette fonction accepte deux paramètres de chaîne, la chaîne complète à vérifier et la terminaison potentielle. Il calcule si la longueur de la chaîne complète atteint ou dépasse la longueur de la fin, puis compare les parties pertinentes de la chaîne complète avec la fin à l'aide de string::compare().

Exemple d'utilisation

L'exemple fourni démontre l'application de la fonction hasEnding() :

<code class="cpp">int main() {
    std::string test1 = "binary";
    std::string test2 = "unary";
    std::string test3 = "tertiary";
    std::string test4 = "ry";
    std::string ending = "nary";

    std::cout << hasEnding(test1, ending) << std::endl;
    std::cout << hasEnding(test2, ending) << std::endl;
    std::cout << hasEnding(test3, ending) << std::endl;
    std::cout << hasEnding(test4, ending) << std::endl;

    return 0;
}</code>

La sortie de ce code affiche les résultats de les comparaisons de suffixes pour les chaînes de test fournies.

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