Heim >Backend-Entwicklung >C++ >Wie kann festgestellt werden, ob eine Zeichenfolge in C ein bestimmtes Suffix hat?

Wie kann festgestellt werden, ob eine Zeichenfolge in C ein bestimmtes Suffix hat?

DDD
DDDOriginal
2024-11-01 01:35:02712Durchsuche

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

Bestimmen von Zeichenfolgensuffixen in C

In C erfordert die Bestimmung, ob eine Zeichenfolge ein bestimmtes Suffix besitzt, einen effizienten und zuverlässigen Ansatz. Um diesem Bedarf gerecht zu werden, untersucht der Artikel ein wirksames Mittel zur Ermittlung dieser Informationen.

Identifizieren von Zeichenfolgenenden

Um festzustellen, ob eine Zeichenfolge mit einer bestimmten Teilzeichenfolge endet, bietet C an die Funktion string::compare(). Diese Methode ermöglicht den Vergleich eines angegebenen Zeichenbereichs innerhalb einer Zeichenfolge mit einer anderen bereitgestellten Zeichenfolge.

Implementierung

Der folgende Codeausschnitt demonstriert die Verwendung von string::compare () zur Suffix-Identifizierung:

<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>

Diese Funktion akzeptiert zwei String-Parameter, den vollständigen zu prüfenden String und das mögliche Ende. Es berechnet, ob die Länge der gesamten Zeichenfolge der Länge des Endes entspricht oder diese überschreitet, und vergleicht dann die relevanten Teile der vollständigen Zeichenfolge mit der Endung mithilfe von string::compare().

Beispielverwendung

Das bereitgestellte Beispiel demonstriert die Anwendung der Funktion 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>

Die Ausgabe dieses Codes zeigt die Ergebnisse der Suffixvergleiche für die bereitgestellten Testzeichenfolgen an.

Das obige ist der detaillierte Inhalt vonWie kann festgestellt werden, ob eine Zeichenfolge in C ein bestimmtes Suffix hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn