CString類詳細介紹

2021-09-12 07:30:47 字數 2887 閱讀 2509

這是本人第一次寫csdn部落格,如果有寫得不好的地方請各位大佬幫忙指出不足之處,本人定會謙虛請教。眾所周知,mfc(微軟基礎類庫)是基於windows介面開發的,它封裝了大部分的windows api(應用程式介面)函式,由c格式的函式公升級為類庫。而cstring字串類是mfc中比較常用的乙個類,cstring類裡封裝了很多對字串操作的成員函式。接下來講解該類的成員函式的功能和使用。**

cstring(); 預設建構函式,建立乙個空的字串物件。

cstring(const cstring& stringsrc); 複製建構函式,從另外乙個cstring物件複製字串。

cstring(tchar ch,int nrepeat=1); 建構函式,構造乙個含有nrepeat個ch的字串。

cstring(lpctstr lpch); 建構函式,複製乙個指向字串的指標。

cstring(lpctstr lpch,int length);建構函式,擷取lpch所指向的字串擷取長度為長度為length並構造成乙個人cstring物件。

int getlength() 獲取字串的長度/位元組數,返回int的數;

bool isempty() 判斷字串是否為空,若為空返回true,否則返回false ;

void empty() 清空字串物件;

tchar getat(int nindex) 獲取當前字串某個位置的字元並返回,nindex從0開始(0表示第乙個位置);

tchar operator(int nindex) 和getat函式一樣,都是獲取字串某個位置的字元並返回該字元(例如char _char=str[0]返回str字串第乙個字元);

void setat(int nindex,tchar char) 修改當前字串某個位置的字元;

operator (ltctstr)() 將cstring物件轉換為字元指標(例如sprintf(char*,"…%s",(ltctstr)csting);

cstring mid(int nfirst)/cstring mid(int nfirst,int ncount)從當前字串中某個位置開始往尾部擷取字串,或者擷取相應個數的字串並返回;

cstring left(int ncount)擷取字串左邊ncount個字元的字串並返回;

cstring right(int ncount)擷取字串右邊ncount個字元的字串並返回;

cstring spanincluding(ltctstr lpszcharset) 從當前字串開頭提取包含某個子串的字串,遇到與子串中不同字元結束並返回提取的字串;

cstring spanexcluding(ltctstr lpszcharset) 從當前字串開頭提取包含某個子串的字串,遇到與子串中相同字元結束並返回提取的字串;

void makeupper() 將字串轉換為大寫;

void makelower() 將字串轉換為小寫;

void makereverse() 將字串顛倒順序;

int replace(tchar chold,tchar chnew) 替換當前字串的字元,若字元不在當前字串裡返回0,若在返回該字元的個數;

int replace(tchar chold,tchar chnew) 替換當前字串物件裡的子串,若字串不在當前字串物件裡返回0,若在返回該字串的個數;

int remove(tchar char) 移除字串中該字元,若該字串中沒有該字元則返回0,若有則返回該字元的個數;

int insert(int nindex,tchar char) 往當前字串中某位置插入字元,並返回插入後的字串的長度;

int insert(int nindex,lpctstr pstr) 往當前字串中某位置插入字串,並返回插入後的字串的長度;

int delete(int nindex,int ncount) 從字串中某位置開始刪除n個字元,並返回刪除前的字串的長度;

void format(lpctstr lpctstr,…)往當前字串中構造新的字串;

void trimleft(tchar char)從左邊開始切除某個字元,遇到不同的字元結束;

void trimleft(lpctstr pstr) 從左邊開始切除包含某個字串的字元,遇到不同的字元結束;

void trimright(tchar char)從右邊開始切除某個字元,遇到不同的字元結束;

void trimright(lpctstr pstr)從右邊開始切除包含某個字串的字元,遇到不同的字元結束;

int find(tchar char);查詢當前字串中某個字元,找到就返回第乙個該字元的位置(下標),找不到就返回-1;

int find(tchar char,int nstar)指定某個位置開始往後查詢該字元,找到就返回第乙個該字元的位置(下標),找不到就返回-1;

int find(lpctstr pstr) 查詢當前字串中某個字串,找到就返回第乙個該子串在當前字串中的第乙個字元的位置(下標),找不到就返回-1;

int find(lpctstr pstr,int nstar) 指定某個位置開始往後查詢該子串,找到就返回第乙個該子串在當前字串中的第乙個字元的位置(下標),找不到就返回-1;

int reversefind(tchar char)從後往前查詢該字元,找到就返回該字元的位置,否則返回返回-1;

int findoneof(lpctstr pstr)查詢當前字串中在子串裡的其中乙個字元,若找著返回該字元的位置,否則返回-1;

int compare(lpctstr pstr) 比較當前字串與接收的子串的大小,若當前字串大於字串,則返回值大於0,若小於則返回值小於0,若相等則返回0;

int comparenocase(lpctstr pstr) 不區分大小寫比較當前字串與接收的子串的大小,若當前字串大於字串,則返回值大於0,若小於則返回值小於0,若相等則返回0;

C String類詳細整理

string簡介 string語法基礎 輸出測試 1 string的比較操作 string類的常用建構函式 string類的常用函式 1 引入標頭檔案 string要使用先引入標頭檔案 include 注意這裡的是string,學了c的同學請注意,不是string.h 底層 是一種順序表的結構,元素...

c string類詳細說明

from 之所以拋棄char 的字串而選用c 標準程式庫中的string類,是因為他和前者比較起來,不必擔心記憶體是否足夠 字串長度等等,而且作為乙個泛型類出現,他整合的操作函式足以完成我們大多數情況下 甚至是100 的需要。我們可以用 進行賦值操作,進行比較,做串聯 是不是很簡單?我們盡可以把它看...

MFC常用的類詳細介紹

常用的mfc類 cruntimeclass結構 在cruntimeclass結構中定義了類名 物件所佔儲存空間的大小 類的版本號等成員變數及動態建立物件 派生關係判斷等成員函式。每乙個從cobject類派生的類都有乙個cruntimeclass結構同它關聯,以便完成在執行時得到物件的資訊或基類的資訊...