日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁 新聞資訊 >> 新聞頭條 >> C語言字符串處理函數(shù)
新聞資訊
NEWS INFORMATION

C語言字符串處理函數(shù)

發(fā)布時間:2019-05-22

C語言提供了豐富的字符串處理函數(shù),例如字符串的輸入、輸出、合并、修改、比較、轉(zhuǎn)換、復(fù)制、搜索等,使用這些現(xiàn)成的函數(shù)可大大減輕編程的負(fù)擔(dān)。

用于輸入輸出的字符串函數(shù),例如printf、putsscanf、gets等,使用時應(yīng)包含頭文件stdio.h,使用其它字符串函數(shù)則應(yīng)包含頭文件string.h。

字符串長度函數(shù)strlen

strlen 是 string length 的縮寫,用來獲得字符串的長度。所謂長度,就是包含多少個字符(不包括字符串結(jié)束標(biāo)志 '\0')。語法格式為:

strlen(arrayName);

strlen 將返回字符串的長度,它是一個整數(shù)。請看下面的例子:

  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(){
  4. char str[]="C language";
  5. int len = strlen(str);
  6. printf("The lenth of the string is %d\n", len);
  7. return 0;
  8. }

運(yùn)行結(jié)果:
The lenth of the string is 10

需要說明的是,strlen 會從字符串的第 0 個字符開始計算,直到遇到字符串結(jié)束標(biāo)志 '\0'。將上面代碼中的 str 改為:

char str[]="C \0language";

那么輸出結(jié)果就是:
The lenth of the string is 2

字符串連接函數(shù) strcat

strcat 是 string catenate 的縮寫,意思是把兩個字符串拼接在一起,語法格式為:

strcat(arrayName1, arrayName2);

arrayName1、arrayName2 為需要拼接的字符串。

strcat 將把 arrayName2 連接到 arrayName1 后面,并刪去 arrayName1 最后的結(jié)束標(biāo)志 '\0'。這就意味著,arrayName1 的長度要足夠,必須能夠同時容納 arrayName1 和 arrayName2,否則會越界。

strcat 返回值為 arrayName1 的首地址。請看下面的例子:

  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(){
  4. char str1[40]="My name is ";
  5. char str2[20];
  6. printf("Input your name:");
  7. gets(str2);
  8. strcat(str1,str2);
  9. puts(str1);
  10. return 0;
  11. }

運(yùn)行結(jié)果:
Input your name:xiao p
My name is xiao p

字符串復(fù)制函數(shù)strcpy

strcpy 是 string copy 的縮寫,意思是字符串復(fù)制,語法格式為:

strcpy(arrayName1, arrayName2);

strcpy 會把 arrayName2 中的字符串拷貝到 arrayName1 中,串結(jié)束標(biāo)志 '\0' 也一同拷貝。請看下面的例子:

  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(){
  4. char str1[15], str2[]="C Language";
  5. strcpy(str1, str2);
  6. puts(str1);
  7. printf("\n");
  8. return 0;
  9. }

運(yùn)行結(jié)果:
C Language

strcat 要求 arrayName1 要有足夠的長度,否則不能全部裝入所拷貝的字符串。

字符串比較函數(shù)strcmp

strcmp 是 string compare 的縮寫,意思是字符串比較,語法格式為:

strcmp(arrayName1, arrayName2);

arrayName1 和 arrayName2 是需要比較的兩個字符串。

字符本身沒有大小之分,strcmp() 以各個字符對應(yīng)的 ASCII 碼值進(jìn)行比較。strcmp() 從兩個字符串的第 0 個字符開始比較,如果它們相等,就繼續(xù)比較下一個字符,直到遇見不同的字符,或者到字符串的末尾。

返回值:若 arrayName1 和 arrayName2 相同,則返回0;若 arrayName1 大于 arrayName2,則返回大于 0 的值;若 arrayName1 小于 arrayName2,則返回小于0 的值。

【示例】對4組字符串進(jìn)行比較。

  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(){
  4. char *a = "aBcDeF";
  5. char *b = "AbCdEf";
  6. char *c = "aacdef";
  7. char *d = "aBcDeF";
  8. printf("strcmp(a, b) : %d\n", strcmp(a, b));
  9. printf("strcmp(a, c) : %d\n", strcmp(a, c));
  10. printf("strcmp(a, d) : %d\n", strcmp(a, d));
  11. return 0;
  12. }

運(yùn)行結(jié)果:
strcmp(a, b) : 1
strcmp(a, c) : -1
strcmp(a, d) : 0

聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

双牌县| 屏山县| 江口县| 藁城市| 绥滨县| 宜章县| 泰宁县| 襄汾县| 吴堡县| 淄博市| 松江区| 湛江市| 江源县| 淅川县| 马公市| 乐清市| 金川县| 高阳县| 常熟市| 吴川市| 江油市| 酒泉市| 青铜峡市| 柳州市| 仪陇县| 米泉市| 前郭尔| 阳高县| 托克逊县| 中西区| 志丹县| 仁怀市| 双峰县| 吉隆县| 嘉禾县| 额济纳旗| 丽水市| 南投县| 普定县| 五大连池市| 灌云县|