Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyemak Kandungan Aksara Berangka dalam Rentetan C dan Pembolehubah aksara*?

Bagaimana untuk Menyemak Kandungan Aksara Berangka dalam Rentetan C dan Pembolehubah aksara*?

Barbara Streisand
Lepaskan: 2024-11-03 03:04:29
asal
1012 orang telah melayarinya

How to Check for Numeric Character Content in C   Strings and char* Variables?

Menyemak Kandungan Aksara Berangka dalam Rentetan C dan Pembolehubah aksara*

Apabila bekerja dengan rentetan dalam C , selalunya perlu untuk menentukan sama ada jujukan aksara yang diberikan hanya mengandungi digit berangka. Ini boleh dicapai menggunakan pelbagai kaedah, masing-masing mempunyai kelebihan dan kelemahannya sendiri.

Untuk objek std::string, satu pendekatan ialah menggunakan fungsi std::find_first_not_of(). Fungsi ini mencari aksara pertama dalam rentetan yang tidak sepadan dengan mana-mana aksara yang dinyatakan dalam inputnya. Dengan menghantar rentetan yang mengandungi hanya aksara angka (cth., "0123456789"), kita boleh menentukan sama ada rentetan input mengandungi sebarang aksara bukan angka.

<code class="cpp">bool is_digits(const std::string &str) {
    return str.find_first_not_of("0123456789") == std::string::npos;
}</code>
Salin selepas log masuk

Sebagai alternatif, untuk kedua-dua std:: rentetan dan char* pembolehubah, kita boleh menggunakan fungsi std::all_of(). Fungsi ini mengambil julat elemen dan predikat (fungsi yang mengembalikan nilai boolean untuk setiap elemen). Dengan menggunakan predikat ::isdigit(), yang mengembalikan benar untuk aksara angka, kami boleh mengesahkan sama ada semua aksara dalam jujukan memenuhi syarat ini.

<code class="cpp">bool is_digits(const std::string &str) {
    return std::all_of(str.begin(), str.end(), ::isdigit); // C++11
}</code>
Salin selepas log masuk

Kaedah ini menyediakan cara yang cekap untuk menyemak kandungan aksara angka dalam kedua-dua pembolehubah std::string dan char*. Pilihan pendekatan bergantung pada keperluan dan pilihan khusus pembangun.

Atas ialah kandungan terperinci Bagaimana untuk Menyemak Kandungan Aksara Berangka dalam Rentetan C dan Pembolehubah aksara*?. 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