Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengulangkan Aksara dalam Rentetan C?

Bagaimanakah Saya Boleh Mengulangkan Aksara dalam Rentetan C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-24 17:20:28210semak imbas

How Can I Iterate Over Characters in a C   String?

Menggelungkan Aksara dalam Rentetan

Melintasi setiap aksara dalam rentetan ialah operasi biasa dalam pengaturcaraan. Dalam C , terdapat berbilang pendekatan untuk mencapai ini:

Berasaskan Julat untuk Gelung (C 11 dan ke atas):

Gelung ini menyediakan sintaks elegan untuk diulang setiap aksara dalam rentetan:

std::string str = "";
for (char &c : str) {
  // Perform operations on `c`
}

Gelung dengan Iterator:

Menggunakan iterator, anda boleh mengakses aksara secara berurutan:

std::string str = "";
for (std::string::iterator it = str.begin(); it != str.end(); ++it) {
  // Perform operations on `*it`
}

Tradisional untuk Gelung:

Pendekatan klasik ini menggunakan saiz rentetan untuk menggelungkan setiap satu indeks:

std::string str = "";
for (std::string::size_type i = 0; i < str.size(); ++i) {
  // Perform operations on `str[i]`
}

Gelung untuk Tatasusunan Aksara Ditamatkan Null:

Untuk rentetan gaya C, gunakan gelung yang berulang sehingga ia menemui aksara nol:

char *str = "";
for (char *it = str; *it; ++it) {
  // Perform operations on `*it`
}

Pendekatan ini menyediakan cara yang berbeza untuk mengulung melalui aksara rentetan dalam C , masing-masing mempunyai kelebihan tersendiri dan kelemahan. Berasaskan julat untuk gelung menawarkan kod ringkas dan boleh dibaca, manakala gelung tradisional memberikan kawalan yang paling hebat ke atas lelaran.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulangkan Aksara dalam Rentetan 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