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

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

Susan Sarandon
Lepaskan: 2024-10-27 18:53:30
asal
717 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Output:

true
false
false
true
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan