程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話中strspn()函數和strcspn()函數的比較應用

C說話中strspn()函數和strcspn()函數的比較應用

編輯:關於C++

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!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved