首頁 >後端開發 >C++ >如何將 C 字串轉換為字元數組?

如何將 C 字串轉換為字元數組?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-10 06:36:02644瀏覽

How to Convert a C   String to a Character Array?

在C 中將字串轉換為字元陣列

在C 中處理字串時,您可能會遇到將字串轉換為字元數組的情況是必要的。但是,與轉換為字元指標 (char*) 不同,您的目標是直接轉換為固定大小的字元陣列 (char[])。

要實現此轉換,請考慮以下方法:

方法1:使用strcpy 和c_str()

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

此方法利用了strcpy函數將字串複製到字元數組中。 c_str() 將字串轉換為以 null 結尾的字元陣列。

方法2:使用strncpy 和c_str()

為了提高安全性,您可以使用strncpy確保不會發生緩衝區溢位:

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

strncpy 將指定數量的字元複製到數組中,並將最後一個字元設為null。

方法三:使用 New 和 c_str()

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

此方法為字元數組動態分配內存,然後使用 strcpy用於複製。

以上是如何將 C 字串轉換為字元數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn