Menukar Rentetan kepada Tatasusunan Aksara dalam C
Dalam C , anda mungkin menghadapi keperluan untuk menukar rentetan kepada tatasusunan aksara (char[ ]) dan bukannya penunjuk aksara (char*). Begini cara anda boleh mencapai ini:
Anda boleh menukar rentetan kepada tatasusunan aksara menggunakan fungsi strcpy seperti berikut:
string temp = "cat"; char tab2[1024]; strcpy(tab2, temp.c_str());
Untuk memastikan keselamatan memori, dinasihatkan menggunakan strncpy untuk menyalin bilangan aksara yang terhad:
string temp = "cat"; char tab2[1024]; strncpy(tab2, temp.c_str(), sizeof(tab2)); tab2[sizeof(tab2) - 1] = 0;
Jika anda lebih suka menggunakan peruntukan memori dinamik, anda boleh memperuntukkan memori untuk tatasusunan aksara dan menyalin data rentetan:
string temp = "cat"; char * tab2 = new char [temp.length()+1]; strcpy (tab2, temp.c_str());
Dengan mengikuti langkah ini , anda boleh menukar rentetan kepada tatasusunan aksara dalam C dengan berkesan, memastikan pengendalian memori dan pertimbangan keselamatan yang sesuai.
Atas ialah kandungan terperinci Bagaimanakah saya menukar rentetan C kepada tatasusunan aksara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!