什么時(shí)候用string頭文件 cstring與string有何區(qū)別?
cstring與string有何區(qū)別?string和CString有什么區(qū)別<string>是一個(gè)C標(biāo)準(zhǔn)庫(kù)頭文件,它包含了準(zhǔn)容器類STD::string的聲明(但實(shí)際上類string只是bas
cstring與string有何區(qū)別?
string和CString有什么區(qū)別
<string>是一個(gè)C標(biāo)準(zhǔn)庫(kù)頭文件,它包含了準(zhǔn)容器類STD::string的聲明(但實(shí)際上類string只是basic)ustring<char>的typedef用于字符串操作。
&Ltcstring>是C標(biāo)準(zhǔn)庫(kù)頭文件ltstring的C標(biāo)準(zhǔn)庫(kù)版本。H>,它包含與c樣式字符串(nul,即“0”)相關(guān)的一些類型和函數(shù)的聲明,如StrCmp、strchr、strstrstrstr等<cstring>和<string之間的最大區(qū)別。H>是聲明的名稱在STD命名空間中,而不是后者的全局命名空間中。
請(qǐng)看定義。String是一個(gè)新標(biāo)準(zhǔn),它定義了namespace STD。CString也是一個(gè)新標(biāo)準(zhǔn),但定義中包含String。H.
可以在字符串中執(zhí)行==>等操作,但不能在CString中執(zhí)行。
在C 編程中,領(lǐng)導(dǎo)堅(jiān)持用char而不用string,string有那么可怕嗎?
在C中優(yōu)先使用字符串是一個(gè)好習(xí)慣。除非C的頑固習(xí)慣,否則應(yīng)該使用字符串而不是字符。
Char用于處理任何8位數(shù)據(jù)類型,如邏輯值、整數(shù)、字符ASCII碼等。要處理字符串,需要使用Char[]數(shù)組,這很麻煩,也很難控制。
String是一個(gè)模板類,專門用于處理字符串,并封裝了許多成員函數(shù)來(lái)處理字符串。它是C標(biāo)準(zhǔn)庫(kù)的一部分,所有C實(shí)現(xiàn)都支持它,并由C創(chuàng)始人推薦。
選擇使用哪一種并不困難。