C++字符串處理函數總結

 

1.基礎函數
輸入輸出:cin,cout,getchar,gets,putchar,puts,printf,scanf
格式化:sprintf,sprintf_s,wsprintf,wsprintf_s,swprintf,swprintf_s  (請仔細比較這幾組函數的區別)
格式化值:
%% -返回百分號
%b –返回二進制數
%c –返回與ASCII值相對應的字符
%d –帶有正負號的十進制數
%e –科學計數符號(如:1.2e+2)
%u –不帶正負號的十進制數.%ul 不帶符號的長整型
%f – 浮點數據(本地設置)
%F –浮點數據(非本地設置)
%o –八進制數
%s –字符串
%x –十六進制數(小寫字母) 例如:sprintf(s, "%#010x", 128); //產生"0x00000080"
%X –十六進制數(大寫字母)
char*字符串處理:strlen,strcpy,strcat,strcmpapp


2.進階函數
char*字符串處理:
char * strchar(const char * s, int c) ;返回指向字符串s中字符c首次出現的指針,沒有返回NULL
char * strrchar(const char * s, int c) ;返回指向字符串s中字符c最後一次出現的指針,沒有返回NULL 
char * strstr(const char * s1, const char * s2) ;返回指向字符串s1中首次出現s2位置的指針,無返回NULL
size_t strspn(const char * s1, const char * s2) ;返回s1中只包含s2中字符的起始段的長度
size_t strcspn(const char * s1, const char * s2) ;返回s1中不包含s2中字符的起始段的長度
char * strpbrk(const char * s1, const char * s2) ;返回指向s1中首次出現s2中字符位置的指針,沒有返回NULL
char * strtok(char * s1, const char * s2) 將s1用s2中包含的字符分開記號拆散爲字符串。(注意:strtok會修改輸入的字符串,故請拷貝後再調用。)
char *strsep(char **stringp, const char *delim) 同上,分隔字符串,用法相似函數


string字符串處理:
長度:str.length()
尺寸:str.size()
比較:str1.compare(str2)
鏈接:str1+=str2
鏈接:str1.append(str2)
提取:str2=str2.substr(pos1)
查找:pos=str1.find(str2)
插入:str1.insert(pos1,str2);
替換:str1.replace(pos1,str2);
刪除:str1.erase(pos,len)
清除:str.clear()指針


字符串轉數字:
atoi(將字符串轉換成整型數)
atof(將字符串轉換成浮點型數) 
atol(將字符串轉換成長整型數)
strtod(將字符串轉換成雙精度浮點數)
strtol(將字符串轉換成長整型數)
strtoul(將字符串轉換成無符號長整型數) 

ci

相關文章
相關標籤/搜索