第9章 字串 字元和位元組

2021-10-09 03:30:45 字數 1041 閱讀 7589

c語言並沒有顯式的字串資料型別,因為字串以字串常量的形式出現或者儲存於字元陣列中。

nul位元組是字串的終止符,但它本身並不是字串的一部分,所以字串的長度並不包括nul位元組。

(1)求字串長度:strlen

(2)複製字串:strcpy

程式設計師必須保證目標字元陣列的空間足以容納需要複製的字串。如果字串比數組長,多餘的字元仍被複製,它們將覆蓋原先儲存於陣列後面的記憶體空間的值。strcpy無法解決這個問題,因為它無法判斷目標字串陣列的長度。

(3)連線字串:strcat

(4)字串比較:strcmp

如果s1小於s2,函式返回乙個小於零的值,如果s1大於s2,則返回乙個大於零的值,如果兩個字串相等,函式返回零。

標準庫還包含了一些函式,它們以一種不同的方式處理字串。這些函式接受乙個顯式的長度引數,用於限定進行複製或比較的字元數。這些函式提供了一種方便的機制,可以防止難以預料的長字串從它們的目標陣列溢位。如果strlen(src)的值小於len,dst陣列就用額外的nul位元組填充到len長度。如果strlen(src)的值大於或等於len,那麼只有len個字元被複製到dst中。注意,它的結果將不會以nul結尾。

(5)在乙個字串中查詢乙個特定字元最容易的方法是使用strchr和strrchr函式

(6)查詢任何幾個字元:strpbrk

(7)查詢乙個子串:strstr

(8)strspn和strcspn函式用於在字串的起始位置對字元計數

(9)查詢標記:strtok,它從字串中隔離各個單獨的稱為標記的部分並丟棄分隔符

(10)strerror函式把乙個錯誤**作為引數並返回乙個指向用於描述錯誤的字串的指標

(11)字元分類:iscntrl,isspace,isdigit,isxdigit,islower,isupper,isalpha,isalnum,ispunct,isgraph,isprint

(12)字元轉換:tolower,toupper

(13)記憶體操作:memcpy,memmove,memcmp,memchr,memset

C 和指標第 9 章 字串 字元和位元組 筆記

這章總體來說,簡單,基本就是進一步介紹了字串 字元和位元組常用函式的使用,以及注意的事項。9.1 字串基礎 字串就是一串零個或多個字元,並且以乙個模式為全 0 的 nul 位元組結尾。標頭檔案 string.h 包含了使用字串函式所需的原型和宣告。9.2 字串長度 就是它所包含的字元個數。size ...

字串 字元和位元組

字串是由乙個個字元組成的,每個字元又由乙個或多個位元組來表示,每個位元組又由8個bit位來表示。字元 計算機中使用的文字和符號,比如1 2 a b 等等。位元組 byte 一種計量單位,表示資料量多少,它是計算機資訊技術用於計量儲存容量的一種計量單位。不同編碼裡,字元和位元組的對應關係不同 asci...

字串 字元和位元組

字串就是一串零個或多個字元,並且以乙個位模式為全0的nul位元組結尾。nul位元組是字串的終止符,但是它本身不是字串的一部分,所以字串的長度並不包括nul位元組。標頭檔案string.h包含了使用字串函式所需的原型和宣告。字串的長度就是它所包含的字元個數。strlen可求字串長度,返回值是size ...