Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh meniru Python\'s startswith() dan fungsi substring-to-integer dalam C ?

Bagaimanakah saya boleh meniru Python\'s startswith() dan fungsi substring-to-integer dalam C ?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-03 06:19:03375semak imbas

How can I replicate Python's startswith() and substring-to-integer functionality in C  ?

Menyemak Kewujudan Rentetan Awalan dan Menukar Subrentetan kepada Integer dalam C

Seorang pengguna mencari panduan untuk melaksanakan semakan awalan rentetan Python dan penukaran subrentetan dalam C . Khususnya, mereka menyasarkan untuk mencapai kefungsian kaedah startswith() Python dan penukaran subrentetan kepada integer.

Menyemak Kewujudan Rentetan Awalan

Untuk menyemak sama ada rentetan C bermula dengan awalan tertentu, manfaatkan kaedah rfind() dengan kedudukan carian sifar. Contohnya:

<code class="cpp">std::string s = "tititoto";
if (s.rfind("titi", 0) == 0) {
  // s starts with "titi"
}</code>

Dengan menetapkan kedudukan carian kepada sifar, kaedah rfind() hanya menyemak permulaan rentetan. Ini membolehkan padanan awalan yang cekap dan tepat.

Menukar Subrentetan kepada Integer

Untuk menukar subrentetan kepada integer, gunakan fungsi stoi():

<code class="cpp">if (s.rfind("--foo=", 0) == 0) {
    int foo_value = std::stoi(s.substr(strlen("--foo=")));
}</code>

Kod ini menyemak awalan "--foo=" dan, jika ditemui, mengekstrak subrentetan bermula dari hujungnya (selepas aksara "=") dan menukarnya kepada integer menggunakan stoi().

Kemas kini: Boost Integrasi

Pengguna menyatakan keengganan untuk menggunakan Boost. Walau bagaimanapun, mereka bebas menggunakannya jika mahu. Boost menyediakan keupayaan manipulasi rentetan tambahan, termasuk fungsi starts_with() dan stoi() dalam Spirit Librarynya.

Atas ialah kandungan terperinci Bagaimanakah saya boleh meniru Python\'s startswith() dan fungsi substring-to-integer dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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