Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Anda Boleh Semak Digit dalam Rentetan C dan Penunjuk Char?

Bagaimanakah Anda Boleh Semak Digit dalam Rentetan C dan Penunjuk Char?

Susan Sarandon
Lepaskan: 2024-11-02 17:17:02
asal
298 orang telah melayarinya

How Can You Check for Digits in C   Strings and Char Pointers?

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

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

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!

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