C說話中strspn()函數和strcspn()函數的比較應用。本站提示廣大學習愛好者:(C說話中strspn()函數和strcspn()函數的比較應用)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話中strspn()函數和strcspn()函數的比較應用正文
C說話strspn()函數:盤算字符串str中持續有幾個字符都屬於字符串accept
頭文件:#include <string.h>
strspn() 函數用來盤算字符串 str 中持續有幾個字符都屬於字符串 accept,其原型為:
size_t strspn(const char *str, const char * accept);
【函數解釋】strspn() 從參數 str 字符串的開首盤算持續的字符,而這些字符都完整是 accept 所指字符串中的字符。簡略的說,若 strspn() 前往的數值為n,則代表字符串 str 開首持續有 n 個字符都是屬於字符串 accept 內的字符。
【前往值】前往字符串 str 開首持續包括字符串 accept 內的字符數量。所以,假如 str 所包括的字符都屬於 accept,那末前往 str 的長度;假如 str 的第一個字符不屬於 accept,那末前往 0。
留意:檢索的字符是辨別年夜小寫的。
提醒:提醒:函數 strcspn() 的寄義與 strspn() 相反,可以比較進修。
典范:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main () { int i; char str[] = "129th"; char accept[] = "1234567890"; i = strspn(str, accept); printf("str 前 %d 個字符都屬於 accept\n",i); system("pause"); return 0; }
履行成果:
str 前 3 個字符都屬於 accept
C說話strcspn()函數:盤算字符串str中持續有幾個字符都不屬於字符串accept
頭文件:#inclued<string.h>
strcspn() 用來盤算字符串 str 中持續有幾個字符都不屬於字符串 accept,其原型為:
int strcspn(char *str, char *accept);
【參數解釋】str、accept為要停止查找的兩個字符串。
strcspn() 從字符串 str 的開首盤算持續的字符,而這些字符都完整不在字符串 accept 中。簡略地說,若 strcspn() 前往的數值為 n,則代表字符串 str 開首持續有 n 個字符都不含字符串 accept 中的字符。
【前往值】前往字符串 str 開首持續不含字符串 accept 內的字符數量。
留意:假如 str 中的字符都沒有在 accept 中湧現,那末將前往 atr 的長度;檢索的字符是辨別年夜小寫的。
提醒:函數 strspn() 的寄義與 strcspn() 相反,可以比較進修。
【示例】前往s1、s2包括的雷同字符串的地位。
#include<stdio.h> #include <stdlib.h> #include<string.h> int main() { char* s1 = "http://c.biancheng.net/cpp/u/biaozhunku/"; char* s2 = "c is good"; int n = strcspn(s1,s2); printf("The first char both in s1 and s2 is :%c\n",s1[n]); printf("The position in s1 is: %d\n",n); system("pause"); return 0; }
運轉成果:
The first char both in s1 and s2 is :c The position in s1 is: 7
再看一個例子,斷定兩個字符串的字符能否有反復的。
#include<stdio.h> #include <stdlib.h> #include<string.h> int main() { char* s1 = "http://c.biancheng.net/cpp/xitong/"; char* s2 = "z -+*"; if(strlen(s1) == strcspn(s1,s2)){ printf("s1 is diffrent from s2!\n"); }else{ printf("There is at least one same character in s1 and s2!\n"); } system("pause"); return 0; }
運轉成果:
s1 is diffrent from s2!