一、C Cstring函數
C Cstring函數包含了很多字元串處理的函數,比如strcpy、strcat、strlen等,它們是C語言中的傳統函數。在C++編程中,我們通常使用C++中的string類來進行字元串的處理。但是在某些情況下,我們需要將string類型轉化為char*類型的C字元串類型,這個時候就需要用到c_str()函數。
#include #include using namespace std; int main() { string str="hello world!"; const char *cstr=str.c_str(); cout<<cstr<<endl; return 0; }
上述代碼中,我們將string類型的str轉化為const char類型的cstr,然後輸出cstr。我們可以看到,輸出結果是hello world!。
二、C Cstring類
C Cstring是C++中的一個基礎字元串類,它包含了很多操作C字元串的函數,如strlen、strcpy、strcat等。
#include #include using namespace std; int main() { char str1[]="hello"; char str2[]="world"; strcat(str1," "); strcat(str1,str2); cout<<str1<<endl; return 0; }
上述代碼中,我們首先定義了兩個char類型的字元串,然後用strcat函數將它們拼接起來,並將結果輸出。輸出結果是hello world。
三、C Cstring循環
在C++中,字元串可以看做是一個字元數組,我們可以用循環來對字元串中的每個字元進行訪問和操作。
#include #include using namespace std; int main() { string str="hello world"; for(int i=0;i<str.length();i++) { cout<<str[i]<<" "; } return 0; }
上述程序中,我們遍歷了字元串str中的每個字元,並將它們輸出。輸出結果是h e l l o w o r l d。
四、C Cstring頭文件
C Cstring頭文件中包含了很多對字元串進行操作的函數,如strlen、strcpy、strcat等。
#include #include using namespace std; int main() { char str1[]="hello"; char str2[]="world"; if(strcmp(str1,str2)==0) { cout<<"兩個字元串相等"<<endl; } else { cout<<"兩個字元串不相等"<<endl; } return 0; }
上述程序中,我們通過調用strcmp函數比較了兩個字元串的大小,並輸出結果。
五、C Cstring轉const char
在C++中,我們通常使用string類型來進行字元串的操作。但是在一些函數調用中,我們需要將string類型轉為const char*類型的C字元串。
#include #include using namespace std; void print(const char* str) { cout<<str<<endl; } int main() { string str="hello"; print(str.c_str()); return 0; }
上述代碼中,我們定義了一個print函數,它的參數是一個const char*類型的C字元串,在main函數中,我們定義了一個string類型的變數str,然後將它轉化為C字元串,並將它作為參數傳遞給print函數,輸出結果是hello。
六、C Cstring如何替換某個字元
C Cstring中沒有提供替換某個字元的函數,但是我們可以用循環來實現。
#include using namespace std; int main() { char str[]="hello world"; char oldchar='o'; char newchar='k'; for(int i=0;i<strlen(str);i++) { if(str[i]==oldchar) { str[i]=newchar; } } cout<<str<<endl; return 0; }
上述程序中,我們首先用char數組定義了一個字元串,然後用for循環遍歷每個字元,找到需要替換的字元,並將它替換為新字元。輸出結果是hkllw wrld。
七、C Cstring字元串分割
在C++中,沒有提供字元串分割函數,但是我們可以用循環和strtok函數來實現。
#include #include using namespace std; int main() { char str[]="hello,world,!"; char *pch; pch=strtok(str,","); while(pch!=NULL) { cout<<pch<<" "; pch=strtok(NULL,","); } return 0; }
上述程序中,我們用strtok函數將字元串str分割成多個子字元串,並將它們輸出。輸出結果是hello world !。
八、C Cstring轉string
在C++中,我們通常使用string類來進行字元串的操作,但是有些函數需要使用C字元串類型,這時我們需要將string類型轉化為C字元串類型。
#include #include using namespace std; int main() { char cstr[]="hello"; string str(cstr); cout<<str<<endl; return 0; }
上述代碼中,我們首先定義了一個C字元串類型的變數cstr,然後用它定義了一個string類型的變數str,並將它輸出。輸出結果是hello。
九、C Cstring字元串分割到list中
在C++中,我們可以用C++自帶的STL容器list來實現字元串的分割。
#include #include #include using namespace std; int main() { string str="hello,world,!"; list strlist; string sub; for(int i=0;i0) { strlist.push_back(sub); } for(list::iterator iter=strlist.begin();iter!=strlist.end();iter++) { cout<<*iter<<" "; } return 0; }
上述代碼中,我們定義了一個字元串變數str,然後定義了一個list容器strlist,並通過for循環將str分割成多個子字元串,並將它們添加到strlist中。最後,我們用迭代器遍歷strlist,將其中的子字元串輸出。輸出結果是hello world !。
原創文章,作者:ZEQR,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147892.html