C++中cstring、string、string.h的區別
阿新 • • 發佈:2022-01-16
在學習演算法題的過程中,最常見的就是字串輸入,一般都會涉及到幾個不同的標頭檔案,這裡總結一下這幾個同文件的異同之處。
<string.h>
<string.h>是C語言中和字串相關的標頭檔案。C語言的內建資料型別中不包括字串,只有字元陣列char[]
,<string.h>中將字元陣列的一些常用操作封裝在其中,包含比如strlen、strcmp、strcpy、strcat之類的字串處理函式。要注意它對應的是字元陣列,本身並不是字串資料型別。
<cstring>
在C++標準化過程中,C++為了向前相容C語言,標準化組織將所有C語言的標頭檔案都進行了新的定義,加入到了標準庫中,加入後的檔名就新增了一個"c"字首並且去掉了.h的字尾名,所以<string.h>標頭檔案成了char[]
。
<string>
而
但