最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中計算字符串長度與分割字符串的方法

 更新時間:2015年08月25日 10:26:43   投稿:goldensun  
這篇文章主要介紹了C語言中計算字符串長度與分割字符串的方法,是C語言入門學習中的基礎知識,需要的朋友可以參考下

C語言strlen()函數(shù):返回字符串的長度
頭文件:

 #include <string.h>

strlen()函數(shù)用來計算字符串的長度,其原型為:

  unsigned int strlen (char *s);

【參數(shù)說明】s為指定的字符串。

strlen()用來計算指定的字符串s 的長度,不包括結束字符"\0"。

【返回值】返回字符串s 的字符數(shù)。

注意一下字符數(shù)組,例如

  char str[100] = "http://see.xidian.edu.cn/cpp/u/biaozhunku/";

定義了一個大小為100的字符數(shù)組,但是僅有開始的11個字符被初始化了,剩下的都是0,所以 sizeof(str) 等于100,strlen(str) 等于11。

如果字符的個數(shù)等于字符數(shù)組的大小,那么strlen()的返回值就無法確定了,例如

  char str[6] = "abcxyz";

strlen(str)的返回值將是不確定的。因為str的結尾不是0,strlen()會繼續(xù)向后檢索,直到遇到'\0',而這些區(qū)域的內容是不確定的。

注意:strlen() 函數(shù)計算的是字符串的實際長度,遇到第一個'\0'結束。如果你只定義沒有給它賦初值,這個結果是不定的,它會從首地址一直找下去,直到遇到'\0'停止。而sizeof返回的是變量聲明后所占的內存數(shù),不是實際長度,此外sizeof不是函數(shù),僅僅是一個操作符,strlen()是函數(shù)。

【函數(shù)示例】取得字符串 的長度。

#include<stdio.h>
#include<string.h>
int main()
{
  char *str1 = "http://see.xidian.edu.cn/cpp/u/shipin/";
  char str2[100] = "http://see.xidian.edu.cn/cpp/u/shipin_liming/";
  char str3[5] = "12345";
  printf("strlen(str1)=%d, sizeof(str1)=%d\n", strlen(str1), sizeof(str1));
  printf("strlen(str2)=%d, sizeof(str2)=%d\n", strlen(str2), sizeof(str2));
  printf("strlen(str3)=%d, sizeof(str3)=%d\n", strlen(str3), sizeof(str3));
  return 0;
}

運行結果:

strlen(str1)=38, sizeof(str1)=4
strlen(str1)=45, sizeof(str1)=100
strlen(str1)=53, sizeof(str1)=5

上面的運行結果,strlen(str1)=53顯然不對,53是沒有意義的。

C語言strtok()函數(shù):字符串分割
頭文件:

#include <string.h>

定義函數(shù):

char * strtok(char *s, const char *delim);

函數(shù)說明:strtok()用來將字符串分割成一個個片段。參數(shù)s 指向欲分割的字符串,參數(shù)delim 則為分割字符串,當strtok()在參數(shù)s 的字符串中發(fā)現(xiàn)到參數(shù)delim 的分割字符時則會將該字符改為\0 字符。在第一次調用時,strtok()必需給予參數(shù)s 字符串,往后的調用則將參數(shù)s 設置成NULL。每次調用成功則返回下一個分割后的字符串指針。

返回值:返回下一個分割后的字符串指針,如果已無從分割則返回NULL。

范例

#include <string.h>
main(){
  char s[] = "ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";
  char *delim = "-: ";
  char *p;
  printf("%s ", strtok(s, delim));
  while((p = strtok(NULL, delim)))
    printf("%s ", p);
    printf("\n");
}

執(zhí)行結果:

ab cd ef;gh i jkl;mnop;qrs tu vwx y;z   //-與:字符已經(jīng)被\0 字符取代


 

相關文章

  • 利用Qt繪制雷達掃描效果

    利用Qt繪制雷達掃描效果

    這篇文章主要為大家詳細介紹了如何利用Qt繪制簡單的雷達掃描效果,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2023-04-04
  • OpenCV繪制正多邊形的方法

    OpenCV繪制正多邊形的方法

    這篇文章主要為大家詳細介紹了OpenCV繪制正多邊形的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Linux下C語言實現(xiàn)貪吃蛇小游戲

    Linux下C語言實現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細介紹了Linux下C語言實現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • C++中map和vector作形參時如何給定默認參數(shù)?

    C++中map和vector作形參時如何給定默認參數(shù)?

    今天小編就為大家分享一篇關于C++中map和vector作形參時如何給定默認參數(shù)?,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • C++實現(xiàn)LeetCode(122.買股票的最佳時間之二)

    C++實現(xiàn)LeetCode(122.買股票的最佳時間之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(122.買股票的最佳時間之二),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • OpenCV實現(xiàn)車牌定位(C++)

    OpenCV實現(xiàn)車牌定位(C++)

    這篇文章主要為大家詳細介紹了OpenCV實現(xiàn)車牌定位,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C語言數(shù)組實現(xiàn)學生信息管理系統(tǒng)設計

    C語言數(shù)組實現(xiàn)學生信息管理系統(tǒng)設計

    這篇文章主要為大家詳細介紹了C語言數(shù)組實現(xiàn)學生信息管理系統(tǒng)設計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言計算器的3種實現(xiàn)方法代碼

    C語言計算器的3種實現(xiàn)方法代碼

    這篇文章主要給大家介紹了關于C語言計算器的3種實現(xiàn)方法,文中通過代碼介紹的非常詳細,對大家的學習或者工作具有一的參考借鑒價值,需要的朋友可以參考下
    2007-01-01
  • C++關鍵字mutable學習筆記

    C++關鍵字mutable學習筆記

    這篇文章主要為大家介紹了C++關鍵字mutable學習筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • C語言數(shù)據(jù)結構樹的雙親表示法實例詳解

    C語言數(shù)據(jù)結構樹的雙親表示法實例詳解

    這篇文章主要介紹了C語言數(shù)據(jù)結構樹的雙親表示法實例詳解的相關資料,需要的朋友可以參考下
    2017-06-06

最新評論

平谷区| 乳源| 乐亭县| 肇州县| 大同市| 拜城县| 河北区| 阳江市| 阿坝| 武冈市| 鹤山市| 湾仔区| 清水河县| 郧西县| 衡东县| 白城市| 淅川县| 吉木萨尔县| 子洲县| 屏东县| 栾城县| 合川市| 资兴市| 衡东县| 鄂托克旗| 庄河市| 渝北区| 四子王旗| 呼图壁县| 临澧县| 兰州市| 儋州市| 若尔盖县| 临安市| 铜梁县| 吕梁市| 福贡县| 读书| 梁山县| 潜江市| 柳州市|