Heim  >  Artikel  >  Backend-Entwicklung  >  Wie überprüfe ich, ob ein C-String mit einem bestimmten String endet?

Wie überprüfe ich, ob ein C-String mit einem bestimmten String endet?

Susan Sarandon
Susan SarandonOriginal
2024-10-27 18:53:30576Durchsuche

How to Check if a C   String Ends with a Specific String?

String-Enden mit C finden

Bestimmen, ob ein String mit einer anderen Zeichenfolge endet, ist eine häufige Aufgabe in der Programmierung. In C kann diese Funktionalität einfach mit der Methode std::string::compare erreicht werden.

Lösung:

Um zu überprüfen, ob die Endzeichenfolge am Ende vorhanden ist Um die vollständige Zeichenfolge zu erhalten, müssen wir die letzten n Zeichen der vollständigen Zeichenfolge mit der Endzeichenfolge vergleichen. Hier ist eine Funktion, die diese Aufgabe ausführt:

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

Erklärung:

  • Überprüfen Sie, ob der vollständige String lang genug ist, um die Endung zu enthalten.
  • Wenn ja, vergleichen Sie die letzten n Zeichen des vollständigen Strings (wobei n die Länge des Endes ist) mit dem Endstring mithilfe von Compare.
  • Wenn der Vergleich 0 zurückgibt, sind die Strings und die Funktion identisch gibt true zurück. Andernfalls wird false zurückgegeben.

Beispielverwendung:

In der bereitgestellten Hauptfunktion testen wir die hasEnding-Funktion mit verschiedenen Zeichenfolgen und einer Endzeichenfolge:

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

    // Ending string
    std::string ending = "nary";

    // Print results
    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>

Ausgabe:

true
false
false
true

Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob ein C-String mit einem bestimmten String endet?. 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