在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中文網其他相關文章!