Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya menukar rentetan C kepada tatasusunan aksara?

Bagaimanakah saya menukar rentetan C kepada tatasusunan aksara?

DDD
Lepaskan: 2024-11-07 13:12:02
asal
388 orang telah melayarinya

How do I convert a C   string to a character array?

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());
Salin selepas log masuk

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;
Salin selepas log masuk

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());
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan