您好,登錄后才能下訂單哦!
藍鷗iOS培訓講師推薦:費話不多說,我們直接進入主題,今天的內容字符串處理函數,主要講的是字符串函數strcat、strcpy、strcmp和strlen的所有內容介紹!
一、字符串連接函數 strcat
其函數原型為strcat(char[],const char[]);
strcat是string catenate(字符串連接)的縮寫,本函數有兩個字符數組的參數,其作用是:將第二個字符數組中的字符串連接到前面字符數組的字符串的后面,第二個字符數組被指定為const,以保證該數組中的內容不會在函數調用期間修改,連接后的字符串放在第一個字符數組中,函數調用后得到的函數值,就是第一個字符數組的地址,如下:
char str1[30]=″People′s Republic of ″;
char str2[]=″China″;
cout<<strcat(str1,str2));//調用strcat函數
輸出:
People′s Republic of China
隨后可見連接前后的狀況,如圖:
二、字符串復制函數strcpy
其函數原型為strcpy(char[],const char[]);
strcpy是string copy(字符串復制)的縮寫,它的作用是將第二個字符數組中的字符串復制到第一個字符數組中去,將第一個字符數組中的相應字符覆蓋。如下:
char str1[10],str2[]=″China″;
strcpy(str1,str2);
執行后,str2中的5個字符″China″和′\0′(共6個字符)復制到數組str1中
下面是有關字符串復制函數strcpy的幾點說明:
1、在調用strcpy函數時,第一個參數必須是數組名(如str1),第二個參數可以是字符數組名,也可是一個字符串常量
2、可以用strcpy函數將一個字符串中前若干個字符復制到字符數組中去
3、只能通過調用strcpy函數來實現將一個字符串賦給一個字符數組,而不能用賦值語句將一個字符串常量或字符數組直接賦給一個字符數組
三、字符串比較函數strcmp
其函數原型為strcmp(const char[],const char[]);
strcmp是string compare(字符串比較)的縮寫,作用是比較兩個字符串,由于這兩個字符數組只參加比較而不應改變其內容,因此兩個參數都加上const聲明,以下寫法是合法的:
strcmp(str1,str2);
strcmp(″China″,″Korea″);
strcmp(str1,″Beijing″);
比較的結果由函數值帶回:
1、如果字符串1=字符串2,函數值為0
2、如果字符串1>字符串2,函數值為一正整數
3、如果字符串1<字符串2,函數值為一負整數
字符串比較的規則與其他語言中的規則相同,即對兩個字符串自左至右逐個字符相比(按ASCII碼值大小比較),直到出現不同的字符或遇到′\0′為止,如全部字符相同,則認為相等;若出現不相同的字符,則以第一個不相同的字符的比較結果為準。
大家一定注意:對兩個字符串比較,不能用以下形式:
if(str1>str2) cout<<″yes″;
字符數組名str1和str2代表數組地址,上面寫法表示將兩個數組地址進行比較,而不是對數組中的字符串進行比較,對兩個字符串比較應該用。
if(strcmp(str1,str2)>0) cout<<″yes″;
四、字符串長度函數strlen
函數原型為strlen(const char[]);
strlen是string length(字符串長度)的縮寫,它是測試字符串長度的函數,其函數的值為字符串中的實際長度,不包括′\0′在內,如
char str[10]=″China″;
cout<<strlen(str);
輸出的結果是5
從上面這些這些經常用的字符串處理函數,除了這些還有一些其它的函數
本章內容到此沒事了,基本上字符處理函數的內容也就這么多內容,希望大家能夠順暢理解!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。