Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Semak sama ada Rentetan C Berakhir dengan Rentetan Tertentu?

Bagaimana untuk Semak sama ada Rentetan C Berakhir dengan Rentetan Tertentu?

Susan Sarandon
Susan Sarandonasal
2024-10-27 18:53:30576semak imbas

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

Mencari Pengakhiran Rentetan dengan C

Menentukan sama ada rentetan diakhiri dengan urutan aksara yang lain ialah tugas biasa dalam pengaturcaraan. Dalam C , kefungsian ini boleh dicapai dengan mudah menggunakan kaedah std::string::compare.

Penyelesaian:

Untuk mengesahkan sama ada rentetan penamat wujud pada penghujung daripada rentetan penuh, kita perlu membandingkan n aksara terakhir bagi fullString dengan rentetan penamat. Berikut ialah fungsi yang melaksanakan tugasan ini:

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

Penjelasan:

  • Semak sama ada Rentetan penuh cukup panjang untuk mengandungi pengakhiran.
  • Jika ya, bandingkan n aksara terakhir bagi FullString (di mana n ialah panjang pengakhiran) dengan rentetan penamat menggunakan bandingkan.
  • Jika perbandingan mengembalikan 0, rentetan adalah sama dan fungsi kembali benar. Jika tidak, ia mengembalikan palsu.

Contoh Penggunaan:

Dalam fungsi utama yang disediakan, kami menguji fungsi hasEnding dengan pelbagai rentetan dan rentetan penamat:

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

Output:

true
false
false
true

Atas ialah kandungan terperinci Bagaimana untuk Semak sama ada Rentetan C Berakhir dengan Rentetan Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn