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

Bagaimanakah saya menukar rentetan C kepada tatasusunan aksara?

DDD
DDDasal
2024-11-07 13:12:02374semak imbas

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());

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!

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