Bagaimana untuk Menukar Rentetan C kepada Tatasusunan Aksara?

Mary-Kate Olsen
Lepaskan: 2024-11-10 06:36:02
asal
566 orang telah melayarinya

How to Convert a C   String to a Character Array?

Menukar Rentetan kepada Tatasusunan Aksara dalam C

Apabila bekerja dengan rentetan dalam C , anda mungkin menghadapi senario di mana menukar rentetan kepada tatasusunan aksara adalah perlu. Walau bagaimanapun, tidak seperti menukar kepada penunjuk aksara (char*), anda bertujuan untuk menukar secara terus kepada tatasusunan aksara bersaiz tetap (char[]).

Untuk mencapai penukaran ini, pertimbangkan kaedah berikut:

Kaedah 1: Menggunakan strcpy dan c_str()

string temp = "cat";
char tab2[1024];
strcpy(tab2, temp.c_str());
Salin selepas log masuk

Kaedah ini menggunakan fungsi strcpy untuk menyalin rentetan ke dalam tatasusunan aksara. c_str() menukar rentetan kepada tatasusunan aksara yang ditamatkan nol.

Kaedah 2: Menggunakan strncpy dan c_str()

Untuk meningkatkan keselamatan, anda boleh menggunakan strncpy to pastikan tiada limpahan penimbal berlaku:

string temp = "cat";
char tab2[1024];
strncpy(tab2, temp.c_str(), sizeof(tab2));
tab2[sizeof(tab2) - 1] = 0;
Salin selepas log masuk

strncpy menyalin bilangan aksara yang ditentukan ke dalam tatasusunan dan menetapkan aksara terakhir kepada null.

Kaedah 3: Menggunakan Baharu dan c_str( )

string temp = "cat";
char *tab2 = new char [temp.length()+1];
strcpy(tab2, temp.c_str());
Salin selepas log masuk

Kaedah ini memperuntukkan memori secara dinamik untuk tatasusunan aksara dan kemudian menggunakan strcpy untuk menyalin.

Atas ialah kandungan terperinci Bagaimana untuk 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan