C++常用字符串函數使用整理


strlen(字符數組)

  • 功能:求字符串長度。
  • 說明:該函數的實參可以是字符數組名,也可以是字符串。
  • 使用樣例:
char s1[80] = "China";

cout<<strlen(s1)<<'\n';      //輸出結果為5

cout<<strlen("大學生")<<'\n';    //輸出結果為6 

  • 結果說明:一個漢字有兩個字節,所以strlen("大學生")的結果為6。

strcpy(字符數組1,字符數組2)

  • 功能:將字符數組2中的字符串復制到字符數組1中
  • 說明:
    (1)字符數組1的長度必須大於等於字符數組2的長度。
    (2)復制時連同字符串后面的'\0'一起復制到字符數組1中。
    (3)不能用賦值語句將一個字符串常量或字符數組直接賦給一個字符數組。
    (4)字符數組的復制只能用strcpy函數處理。用一個賦值語句只能將一個字符賦給一個字符型變量或字符型數組元素。但可以在定義的時候初始化。

如以下形式:

str1 ={''Good"};    //不合法

str1 = str2;      //不合法

char a[5],c1,c2;

c1 = 'A'; c2 = 'B';    //合法

c[0] = 'C';       //合法

char g[20] = "aaaa''    //合法

  • 使用樣例:

`char a[20]="aaaaaa",b[20]="bbb";`
`strcpy(a,b);`
`cout<<a; `
`return 0;`

  • 結果說明:數組b的值將會覆蓋數組a的值,所以結果為"bbb"。

strcat(字符數組1,字符數組2)

  • 功能:將字符數組2中的字符串連接到字符數組1中的字符串的后面,對字符數組2中的內容沒有影響。
  • 說明:該函數中的第二個參數也可以是一個字符串常量。
  • 使用樣例:

char s1[20] = "one", s2 = "two", s3[20] = "three";

strcat(s1,s2);

strcat(s1,s3);

  • 結果說明:運行樣例后,則數組s1中的字符串為”onetwothree",數組s2和s3中的字符串沒變。

strcmp(字符數組1,字符數組2)

  • 功能:比較兩個字符串是否相等。
  • 說明:
    (1)如果兩個字符串中的字符均相同,則兩個字符串相等,函數返回值為0;
    (2)當兩個字符串不同時,則以自左至右出現的第一個不同字符的比較結果作為兩個字符串的比較結果。
       如果第一個字符串大於第二個字符串,則返回值為1。
       如果第一個字符串小於第二個字符串,則返回值為-1。
    (3)這種比較是按字符的ASCII碼值的大小比較的。
  • 使用樣例:

strcmp("Student","Student");      //比較結果為0

strcmp("student","Student");      //比較結果為1

strcmp("Student","student");      //比較結果為-1

int a=strcmp("stude","student");

  • 結果說明:當第一個字符串比較完后,第二個字符串還有字符,則當第一個字符串小於第二個字符串,所以a的值為-1。

strlwr(字符數組)

  • 功能:將字符數組中存放的所有大寫字母變成小寫字母,其它字母不變。
  • 使用樣例:

char s1[ ] = "Student1";

strlwr (s1);

  • 結果說明:將s1數組中的字符串全部變成小寫字母,即“student1"。

strupr(字符數組)

  • 功能:將字符數組中存放的所有小寫字母變成大寫字母,其它字母不變。
  • 使用樣例:

char s1[ ] = "Student2";

strupr (s1);

  • 結果說明:將s1數組中的字符串全部變成小寫字母,即“STUDENT2"。

strncpy(字符數組1,字符數組2,len)

  • 功能:將字符數組2 前len個字符復制到字符數組1的前len個字符空間中。
  • 說明:
    (1)第二個參數可以是數組名,也可以是字符串,第三個參數為正整數。
    (2)當字符數組2中表示的字符串的長度小於len時,則將該字符串全部復制到第一個參數所指定的數組中。
  • 使用樣例:

char s1[ 80] = "aaaaaa", s2[80];

strncpy(s1,"student", 4);

strncpy(s2,"teacher",10);

  • 結果說明:
    運行該樣例后,s1為"studaa";字符串"teacher"的長度小於10,則將其全部字符復制到s2中,s2的內容為"teacher"。

strncmp(字符數組1,字符數組2,len)

  • 功能:比較兩個字符數組中表示的字符串的前len個字符。
  • 說明:
    (1)前兩個參數均可以為字符數組或字符串,第3個參數為正整數。
    (2)若第一個字符串或第二個字符串的長度小於len時,該功能與strcmp()相同。
    (3)當兩個字符串的長度均大於len時,len為最多要比較的字符個數。
  • 使用樣例:
    cout<<strncmp("English","England",4)<<endl;
  • 結果說明:因為比較的兩個字符串的前4個字符相同,所以輸出的值為0。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM