Bagaimanakah saya menukar rentetan C kepada tatasusunan aksara?

DDD
Lepaskan: 2024-11-07 13:12:02
asal
226 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!

sumber:php.cn
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!