Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menyemak Kandungan Aksara Berangka dalam Rentetan C dan Pembolehubah aksara*?
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>
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>
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!