Heim > Backend-Entwicklung > C++ > Wie kann man in C feststellen, ob eine Zeichenfolge mit einer bestimmten Teilzeichenfolge endet?

Wie kann man in C feststellen, ob eine Zeichenfolge mit einer bestimmten Teilzeichenfolge endet?

DDD
Freigeben: 2024-10-29 12:16:02
Original
1043 Leute haben es durchsucht

How to Determine if a String Ends with a Specific Substring in C  ?

String-Enden in C bestimmen

Eine häufige Operation bei der String-Manipulation ist die Überprüfung, ob ein gegebener String mit einem anderen endet. Diese Funktionalität ist in verschiedenen Anwendungen von entscheidender Bedeutung, einschließlich Textverarbeitung, Mustervergleich und Dateianalyse.

In C gibt es mehrere Möglichkeiten, um festzustellen, ob eine Zeichenfolge mit einer bestimmten Teilzeichenfolge endet. Eine effiziente Methode besteht darin, die Funktion std::string::compare zu verwenden, die in der Standard-C-Bibliothek verfügbar ist.

Die Vergleichsfunktion vergleicht zwei Zeichenfolgen und gibt einen ganzzahligen Wert zurück, der das Ergebnis darstellt. Indem wir den letzten Teil der Originalzeichenfolge mit der potenziellen Teilzeichenfolge am Ende vergleichen, können wir feststellen, ob sie übereinstimmen.

Der folgende Code zeigt, wie dieser Ansatz implementiert wird:

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

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

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>
Nach dem Login kopieren

In diesem Code definieren wir zunächst eine Funktion hasEnding, die zwei Zeichenfolgen als Eingabe akzeptiert. Die Funktion gibt einen booleschen Wert zurück, der angibt, ob die erste Zeichenfolge mit der zweiten endet.

Innerhalb der Funktion prüfen wir, ob die Länge der ersten Zeichenfolge größer oder gleich der Länge der zweiten Zeichenfolge ist. Wenn nicht, gibt die Funktion „false“ zurück.

Wenn die Längenprüfung erfolgreich ist, verwenden wir „Vergleichen“, um den letzten Teil der ersten Zeichenfolge mit der zweiten Zeichenfolge zu vergleichen. Die Vergleichsfunktion gibt 0 zurück, wenn die beiden Zeichenfolgen gleich sind. Dies überprüfen wir, um festzustellen, ob die erste Zeichenfolge mit der zweiten endet.

Die Hauptfunktion testet die hasEnding-Funktion mit mehreren Eingabezeichenfolgen und gibt die Ergebnisse aus.

Das obige ist der detaillierte Inhalt vonWie kann man in C feststellen, ob eine Zeichenfolge mit einer bestimmten Teilzeichenfolge endet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage