Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memeriksa Jika Rentetan C Mewakili Integer?

Bagaimana untuk Memeriksa Jika Rentetan C Mewakili Integer?

Susan Sarandon
Lepaskan: 2024-11-05 21:32:02
asal
498 orang telah melayarinya

How to Check If a C   String Represents an Integer?

Menyemak Jika Rentetan C ialah Integer

Dalam situasi tertentu, seperti semasa memproses input pengguna, mungkin perlu untuk membezakan antara rentetan yang mewakili integer dan yang tidak. Nasib baik, terdapat beberapa cara untuk mencapai tugas ini dalam C .

Satu pendekatan ialah memanfaatkan fungsi C strtol, yang menukar perwakilan rentetan integer kepada nilai integer. Untuk menggunakan strtol, anda boleh menulis fungsi ringkas yang merangkumi proses penukaran:

<code class="cpp">inline bool isInteger(const std::string &s) {
  if (s.empty() || ((!isdigit(s[0])) && (s[0] != '-') && (s[0] != '+'))) return false;

  char *p;
  strtol(s.c_str(), &p, 10);

  return (*p == 0);
}</code>
Salin selepas log masuk
  • Ikhtisar: Fungsi menyemak sama ada rentetan s yang disediakan mewakili integer.
  • Rentetan Kosong: Ia mula-mula menyemak sama ada rentetan itu kosong.
  • Simbol Utama: Ia juga menyemak aksara bukan digit terkemuka, seperti ' ' atau '-', dan mengembalikan palsu jika ia tidak hadir (menunjukkan bukan integer).
  • Penukaran strtol: Fungsi ini menggunakan fungsi strtol untuk melaksanakan penukaran. Jika strtol menemui aksara bukan digit, ia memberikan alamat aksara itu kepada penuding p.
  • Penilaian Keputusan: Jika p tidak menunjuk ke hujung rentetan (diwakili oleh watak ''), ia bermakna strtol menemui watak bukan digit. Dalam kes ini, fungsi mengembalikan palsu, menunjukkan bahawa s bukan integer.

Fungsi ini menyediakan cara yang boleh dipercayai untuk menentukan sama ada rentetan yang diberikan boleh dihuraikan sebagai integer. Dengan memasukkannya ke dalam kod anda, anda boleh mengendalikan rentetan yang mewakili integer dan bukan integer dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimana untuk Memeriksa Jika Rentetan C Mewakili Integer?. 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