Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada rentetan mempunyai akhiran khusus dalam C?

Bagaimana untuk menentukan sama ada rentetan mempunyai akhiran khusus dalam C?

DDD
DDDasal
2024-11-01 01:35:02642semak imbas

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

Menentukan Akhiran Rentetan dalam C

Dalam C , menentukan sama ada rentetan mempunyai akhiran tertentu memerlukan pendekatan yang cekap dan boleh dipercayai. Untuk menangani keperluan ini, artikel itu meneroka cara yang berkesan untuk memastikan maklumat ini.

Mengenal pasti Pengakhiran Rentetan

Untuk menentukan sama ada rentetan berakhir dengan subrentetan tertentu, C menawarkan fungsi string::compare(). Kaedah ini membolehkan perbandingan julat aksara yang ditentukan dalam rentetan dengan rentetan lain yang disediakan.

Pelaksanaan

Coretan kod berikut menunjukkan penggunaan rentetan::compare () untuk pengenalpastian akhiran:

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

Fungsi ini menerima dua parameter rentetan, rentetan penuh untuk diperiksa dan kemungkinan pengakhiran. Ia mengira jika panjang rentetan penuh memenuhi atau melebihi panjang penghujung dan kemudian membandingkan bahagian rentetan penuh yang berkaitan dengan penghujung menggunakan rentetan::compare().

Penggunaan Contoh

Contoh yang disediakan menunjukkan aplikasi fungsi 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>

Output kod ini memaparkan hasil perbandingan akhiran untuk rentetan ujian yang disediakan.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada rentetan mempunyai akhiran khusus dalam C?. 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