非成員函式
char *strtok(char s, const char *delim);
返回值:字元指標
第一引數:待處理的字串,以後若是繼續對該串處理,第乙個引數設定為null
第二引數:分割符
作用:查詢字串中的分割符並將其變為'\0'然後返回前乙個子串的首位址
用來將一整段英文分割為乙個乙個單詞(標記),並將每個單詞字元陣列的首位址儲存起來
char sent; //要分解的字串
char *word; //用來儲存單詞首位址的字元指標陣列
char *p = strtok(sent, " "); //首次使用時第一引數為字串
for (int i = 0; p != null; i++)
該函式會對待處理的字串進行改變,即將字串中查詢到的分割符變成'\0';
如果待處理字串的首字元就是分割符,即第乙個標記是空的,這時候會直接再查詢下乙個分割符,當然,這個分割符也會被置0;
第二引數中可以包含多個分隔符,如"() ",就意味著'(',')',' '都是分割符,且地位相等。
非成員函式,被包含於string.h
標頭檔案中
char *strcpy(char* str1, const char *str2);
返回值:字串首位址
第一引數:目標位址
第二引數:被複製的字串
作用:把從str2開始的含有'\0'結束符的字串複製到以str1為起始的位置中,並返回str1的位址
用於字串的複製
char str1[maxsize];
char str2 = //注意這裡不使用常量字元指標也可以
strcpy(str1, "hello!");
strcpy(str1, str2);
string類成員函式
string(string str); //用另乙個string物件去初始化
string(const char c); //用常字串去初始化
string(char c); //用字串去初始化
string(int n, char c); //建立包含n個c的字串
string(int n, const char c); //同上
不能用單個字元或者整型來進行初始化,但是可以用'='來賦值。
string類成員函式
void assign(string str);
void assign(string str, int pos, int size);
第一引數:被複製的字串str
第二引數(可省:從str的什麼位置開始複製
第三引數(可省:複製多少個字元
作用:將待複製的字串複製到目標字串的末尾
string類成員函式
char at(int pos);
返回值:讀取的字元
第一引數:要讀取的字元位置
作用:讀取m目標字串的pos個位置並返回
起的作用和一樣,但是提供溢位檢查。
string類成員函式
int compare(string str);
int compare(int pos1, int len, string str);
int compare(int pos1, int len1, string str, int pos2, int len2);
返回值:整數
第一引數(可省:目標字串的比較起始位置
第二引數(可省:選擇長度
第三引數:比較字串
第四引數(可省:比較字串的比較起始長度
第五引數(可省:選擇長度
作用:將目標字串與比較字串進行比較,前者大則返回正數,等於返回0,前者小返回負數。
一般返回的是-1、0、1;
比較原則:按字母的ascii碼比較優先,長度次之。
string成員函式
string substr(int pos, int len);
返回值:字串
第一引數:查詢起始位置
第二引數:選擇長度
作用:在目標字串中選擇一段並複製到乙個新的字串中返回
返回的是乙個全新的字串,和原字串沒有關聯
string類成員函式
void swap(string str);
第一引數:待交換的字串
作用:將目標字串與str中的內容交換
string類成員函式
int find(char c);
int find(const char c);
int find(char c);
int find(const char c);
int find(char c, int pos);
····
第一引數:待查詢字元(串)
第二引數:字串中開始查詢的位置
作用:返回目標字串中查詢字元(串)的位置,包括此位置
還有一些系列例如int find_first_of()
,int find_last_of()
,int find_first_not_of()
暫不介紹,作用差不多;
若未查找到,則返回string::npos
。
string類成員函式
void replace(int pos1, int size1, char c, int pos2. int size2);
void replace(int pos, int size, char c);
第一引數:從什麼位置開始替換
第二引數:選擇長度
第三引數:替換的字串
第四引數(可省:替換字串的選擇位置
第五引數:選擇長度
void srase(int pos);
void erase(int pos, int len);
第一引數:從什麼位置開始刪除
第二引數(可省:刪除多少個,如果該引數沒有就pos之後的全部刪除
作用:刪除目標字串中從pos開始(包括pos)的所有內容
string類成員函式
void insert(int pos, string str);
void insert(int pos1, string str, int pos1, int len);
第一引數:插入位置
第二引數:插入字串
第三引數(可選:插入字串的選擇位置
第四引數(可選:選擇長度
作用:將待插入字串插入目標字串的第pos個字元前面
string類成員函式
const char* c_str();
返回值:常量字元指標
作用:返回乙個c風格的字元指標
string類函式
int length(); //獲取字串的長度
void resize(int len); //更改字串的長度
一些字串的常用函式
char st 100 1.字串長度 strlen st 2.字串比較 strcmp st1,st2 1大於 0等於 1小於 strncmp st1,st2,n 把st1,st2的前n個進行比較。3.附加 strcat st1,st2 strncat st1,st2,n n表示連線上st2的前n個給...
C 一些字串處理函式
1.複製函式 我更願意稱之為 字串覆蓋函式 a.strcpy str1,str2 將字串str2 覆蓋到str1上 b.strncpy str1,str2,n 2.拼接函式 a.strcat str1,str2 將str2接到str1後面 b.strncat str1,str2,n 3.比較函式 a...
matlab處理字串的一些函式
字串和它的ascii表示之間轉換外,matlab還提供了大量的其它的有用的字串轉換 函式。它們包括 表6.1 字 符 串 轉 換 abs字串到ascii轉換 dec2hex 十進位制數到十六進製制字串轉換 fprintf 把 格式化的文字寫到 檔案中或顯示屏上 hex2dec 十六進製制字串轉換成十...