Menyemak Digit dalam Rentetan C dan Penunjuk Char
Menentukan sama ada penuding rentetan atau aksara mengandungi hanya aksara angka adalah tugas biasa dalam pengaturcaraan . C menyediakan beberapa cara untuk melakukan semakan ini, terpakai pada kedua-dua std::string dan char*.
Kaedah Berasaskan Rentetan
Untuk menyemak sama ada std::string mengandungi hanya digit, anda boleh menggunakan fungsi find_first_not_of(). Fungsi ini mengembalikan kedudukan aksara pertama yang tidak sepadan dengan set aksara yang ditentukan. Jika fungsi mengembalikan std::string::npos, ia menunjukkan bahawa tiada aksara bukan digit ditemui, dan oleh itu rentetan mengandungi digit sahaja.
<code class="cpp">bool is_digits(const std::string &str) { return str.find_first_not_of("0123456789") == std::string::npos; }</code>
Kaedah Berasaskan Penunjuk Char
Untuk penunjuk aksara, anda boleh menggunakan fungsi std::all_of() bersama-sama dengan fungsi ::isdigit untuk menyemak sama ada semua aksara dalam penuding ialah digit. Fungsi ::isdigit mengembalikan benar jika aksara ialah digit (0-9), dan palsu sebaliknya.
<code class="cpp">bool is_digits(const char* str) { return std::all_of(str, str + strlen(str), ::isdigit); // C++11 }</code>
Perhatikan bahawa kedua-dua kaedah mengandaikan bahawa rentetan input atau penuding aksara ialah jujukan aksara ASCII . Jika aksara bukan ASCII dijangka, pengubahsuaian yang sesuai mungkin diperlukan.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Semak Digit dalam Rentetan C dan Penunjuk Char?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!