itao() Penggantian untuk Penukaran Integer-ke-String dalam C
Dalam C , fungsi itoa() biasanya digunakan untuk menukar integer kepada rentetan. Walau bagaimanapun, fungsi ini mempunyai had dan mungkin tidak tersedia dalam persekitaran tertentu. Artikel ini meneroka alternatif kepada itoa() untuk menangani isu ini.
std::to_string: C 11 dan Kemudian
C 11 memperkenalkan fungsi std::to_string sebagai alternatif yang lebih moden dan boleh dipercayai kepada itoa(). Fungsi ini mengambil nilai integer sebagai argumen dan mengembalikan perwakilan rentetan nombor.
#include <string> int main() { int i = 5; std::string s = std::to_string(i); return 0; }
C Streams
Jika anda menggunakan C sebelum versi 11, anda boleh menggunakan aliran C untuk menukar integer kepada rentetan. Pendekatan ini melibatkan penciptaan objek aliran astring dan menggunakan sisipan operator (<<) untuk menstrim integer ke dalam strim.
#includeint main() { int i = 5; std::stringstream out; out << i; std::string s = out.str(); return 0; } Alternatif Lain
Selain daripada std::to_string dan aliran C, terdapat perpustakaan dan teknik lain yang boleh digunakan untuk penukaran integer-to-string, seperti sebagai:
- Boost.lexical_cast: Pustaka pengepala sahaja yang menyediakan fungsi penukaran jenis, termasuk integer-ke-rentetan.
- sprintf: Fungsi gaya C yang memformat pembolehubah menjadi penimbal. Boleh digunakan dengan integer dan rentetan.
- snprintf: Versi sprintf yang lebih selamat yang mengambil saiz penimbal yang jelas untuk mengelakkan limpahan penimbal.
Pilihan alternatif bergantung pada keperluan khusus program anda dan sumber yang tersedia.
Atas ialah kandungan terperinci Apakah alternatif terbaik untuk `itoa()` untuk penukaran integer-to-string dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!