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

Susan Sarandon
Lepaskan: 2024-11-02 17:17:02
asal
122 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!

sumber:php.cn
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!