C++如何理解字符串長度函數strlen

2021-01-08 音樂播客廳

1、字符串長度函數的原型為size_t strlen(const char *str); 其中size_t實際上是unsigned int,其是用typedef 定義的unsigned int一個別名size_t,代碼如下typedef unsigned int size_t;

2、調用字符串長度函數時,將實際字符串變量地址傳遞給形參str,使str指向實際字符串變量,函數根據形參str指向的字符串計算出該字符串的長度,其返回值為字符串的實際長度,不包括字符串結束符'\0'

3、調用字符串長度函數時,計算形參str指向的字符串,並從字符串的開始處開始計數直到遇到第一個字符串結束符'\0'就停止計數,返回計數值,不包括字符串結束符'\0';對於字符數組,若定義後沒有初始化,也沒有賦值,則調用strlen求得的字符串的長度是不固定的,因為該函數從字符數組首地址開始計數直到找到'\0'才停止

4、示例程序運行結果如下圖所示

相關焦點

  • sizeof/strlen—字符數組/字符串的長度你真的懂嗎?附代碼
    數據類型的長度本文將對各種數據類型的變量長度做詳細介紹,以供大家參考、學習。結果重點:字符數組與字符串所佔的字節長度這是一個很容易混淆的點,字符串與字符數組,sizeof與strlen,直接看代碼:字符數組、字符串的長度說明:
  • 快速上手系列-C語言之字符串處理函數(一)
    C語言中常用的字符串操作函數,有比如計算字符串長度、字符串拷貝,字符串比較等這樣的整體操作函數,有字符串查詢函數,也有字符串轉換函數等等,這裡先介紹字符串整體操作函數。字符串整體操作函數實際編程中,經常遇到對字符串整體的控制等操作,比如長度測量函數strlen(),字符串拷貝函數strcpy()/strncpy(),字符串比較函數 strcmp()/strncmp(),字符串連接函數strcat()/strncat()等,這些函數是非常有用的。
  • strlen與sizeof的區別
    2.sizeof是算符,strlen是函數。//a=10;//strlen()在運行起確定intb=sizeof(str);//而6.strlen的結果要在運行的時候才能計算出來,是用來計算字符串的實際長度,不是類型佔內存的大小。
  • EXCEL函數公式大全之利用FIND函數MID函數提取字符串中間指定文本
    EXCEL函數公式大全之利用FIND函數和MID函數組合提取字符串中間指定文本。EXCEL函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數FIND函數和MID函數。
  • C++後端開發面試題與知識點匯總(附答案)
    給定三角形ABC和一點P(x,y,z),判斷點P是否在ABC內,給出思路並手寫代碼怎麼判斷一個數是二的倍數,怎麼求一個數中有幾個1,說一下你的思路並手寫代碼請你說一下你理解的c++中的smart pointer四個智能指針:請回答一下數組和指針的區別請你回答一下野指針是什麼?
  • 在C語言中如何高效地複製和連接字符串?
    兩個或多個字符串的連接操作的最佳複雜度和字符數量成線性關係。但是,如上所述,讓函數返回指向目標字符串的指針會導致操作的效率明顯低於最佳效率。該函數遍歷源字符串序列和目標字符串序列,並獲取指向這兩個序列末尾的指針。該指針指向函數(strncpy除外)附加到目標序列上的字符串結束符NUL('\0')處或它的後一位。
  • C/C++免殺CS shellcode實踐
    前言免殺技術,是攻擊者與安全廠商的博弈,如何將我們的攻擊指令成功繞過殺毒軟體的檢測,是每個紅隊人員需要思考的問題。當然在這一領域各大佬八仙過海,各顯神通。在此要感謝T00LS的AgeloVito前輩,本文是在前輩的成果中加以實踐。
  • R語言-stringr-字符串處理
    char <- r"(\\a\ab\d\e\f)" #windows下路徑好用,不用轉義路徑複製和直接可用charchar <- r"(我是一名'R語言'學習者)"cat(char)常用函數截取字符串
  • 真的了解字符串拼接嗎?用Python拼接字符串的常用方法及性能分析
    在控制臺輸出一串字符串時經常使用這個函數。它是一種替代「%」進行控制字符串輸出的最佳方案。使用「+」操作符連接不同類型的數據結構時,拋出異常;但是format()函數不會,它能實現不同類型的數據結構之間的(字符串和其它類型數據結構)拼接,這點尤其重要,也很常用。
  • 傻傻分不清系列|Python中各種字符串處理方法
    Python易混淆知識系列:Pandas字符串方法和字符串內建函數,使用Python的一個優勢就是字符串處理起來比較容易。Python的初學者在學習字符串內建函數的時候往往會很困惑:字符串的內建函數是對單個字符串對象處理,如果要對成千上萬個字符串對象處理該怎麼辦?
  • 從字母數字字符串中提取數字
    2.確定分解後的字符串中是否有數字。   3.確定數字在字母數字字符串中的位置。   4.計算字母數字字符串中數字的數量。   我們將分別考慮這些任務,然後將各公式整合在一起以得到最終結果。   將字母數字字符串分解為單獨的字符。請在此使用MID函數。
  • c++ 內存,虛函數,運算函數,三角函數
    複合函數:由兩個函數複合而成的複合函數,當裡層的函數是偶函數時,複合函數的偶函數,不論外層是怎樣的函數;當裡層的函數是奇函數、外層的函數也是奇函數時,複合函數是奇函數,當裡層的函數是奇函數、外層的函數是偶函數時,複合函數是偶函數。只有奇奇是奇奇,別的都是偶。
  • Excel函數公式
    實際工作中,最常用到的還是一些基本函數和公式,因此,對基礎函數公式的掌握就顯得尤為重要。一、IF+AND:多條件判斷。解讀:1、MID函數的主要功能是從欄位中截取從特定位置開始(參數二)長度為指定值(參數三)的字符串。2、RIGHT函數的主要功能是從右側截取指定長度的字符串。
  • Excel基礎性函數公式應用案例解讀!
    五、Left函數:截取指定的字符(左邊)。作用:從一個字符串的左側第一個字符開始截取指定長度的字符。語法:=Left(字符串或引用,[字符長度])。六、Mid函數:截取指定字符串(中間)。作用:從指定的字符串中指定的位置截取指定長度的字符。語法:=Mid(字符串或引用,開始字符數,截取長度)。
  • PHP函數in_array()如何檢查數組中的值
    PHP函數in_array()如何檢查數組中的值 PHP函數in_array()可以幫助我們輕鬆的完成對數組中某個值的檢查。我們下面就舉一個例子來幫助大家理解PHP函數in_array()的具體應用。
  • Excel Mid函數與Midb函數的使用方法,含反向取值
    在 Excel 中,提取指定長度的字符有兩個函數,分別為Mid函數和Midb函數,前者用於提取指定長度的字符個數,後者用於提取指定長度的字節個數。用Mid函數提取時,無論是漢字、字母還是數字都算一個字符;用Midb函數提取時,漢字算兩個字節,數字和字母算一個字節。一般情況下,它們從左向右提取;但也可以反向提取,即從右向左提取。
  • MID函數怎麼用?如何提取數字
    本期小編與大家分享一個非常實用的函數即MID函數,該函數可以輕鬆提取你想要獲取的數據,一起來看看吧。MID函數表示按照指定的條件對字符串進行截取。語法結構:=MID(目標單元格,開始位置,截取長度)注意:該函數的提取方法是從左往右提取指定的數據。
  • 今天學Python第三課常用的數據類型有三種字符串,整數,浮點數
    字符串, 江湖行話, 就是由一個個字符連接起來的組合, 你平時所見的字母、數字、漢字、符號都是字符。 字符串可以用來表示詞、語句、甚至是數學公式。記得用引號括住,創建字符串;將字符串賦值給變量;使用print()函數列印。】say = '你說我們會成功的'print(say)say1 = '那你為什麼不努力?'
  • 如何計算曲線長度?
    對於一條連續的、光滑的曲線,根據定積分的幾何意義,很容易計算曲線與x軸所圍成的區域的面積,但如何計算曲線的長度呢?1.直角坐標曲線曲線f(x)為一條在區間[a,b]上連續且光滑的曲線,如圖1所示。所謂光滑的函數曲線,意思就是函數在一段區間內存在一階導數。根據微分的思想,一段曲線的長度可以分割成無數條短曲線的和。現在假設用n-1個數將區間[a,b]分割成n個子區間。根據圖1可知,每個子區間的弧長可以近似用圖2的式子來表示。