C風格字串string h

2021-10-02 06:47:08 字數 1908 閱讀 7090

c語言識別儲存字串,是靠陣列的結構,單個字元儲存,並在末尾處自動加上 '\0』作為字串結束的標識。

char*定義的字串

char* 定義的變數儲存在字元常量區,定義的是乙個常量。所以char* 一旦定義的就無法修改內部的單個字元。所以通常使用 const char*

char str定義的字串

char str 的變數儲存在棧上,所以可以通過下標來修改字串中某個字元。

char

* cstr =

"string"

;printf

("%c"

,cstr[0]

);//輸出 s

printf

("%c"

,cstr+1)

;//輸出 t

//char* 可以通過下標訪問單個字元

cstr[0]

='s'

;// x

//但若是要修改其中的內容,編譯就會報錯

char str=

"string"

;str[0]

='s'

;printf

("%c"

,str[0]

);//輸出 s

//陣列方式建立 既可以修改單個字元,也可以單個字元訪問

通過遍歷字串中的字元,遇到'\0'時停止遍歷,此時就能得出字串的長度。
char

* str =

"string"

;int len =

strlen

(str)

;

將源字串中的內容拷貝到目標字串中

目標字串的空間必須時可變的且空間足夠大能夠容納下源字串

const

char

* str =

"string"

;char copy;

strcpy

(copy,str)

;

在目標字串後追加一段字元。將刪除目標字串後的'\0',後將追加的字串新增。

如果strcat目標字串自己的畫,將導致無限遞迴。

char str=

"string"

;strcat

(str,

);

char

* str1 =

"abcde"

;char

* str2 =

"abcc"

;strcmp

(str1,str2)

;//str1大於str2,返回負數

在目標字串中檢索要查詢的小字串,並返回找到的子字串。
char

* str1 =

"string"

;strstr

(str1,

"ing");

//返回 ing

新增了第三個引數n,表示從源字串中拷貝多少個字元到目標檔案中
const

char

* str=

"string"

;char copy;

strncpy

(copy,str,3)

;//最終返回 「str」

新增了第三個引數n,表示從源字串追加多個個字元到目標字串中
const

char

* str=

"string"

;char str2=

"this is "

;strncpy

(str2,str,3)

;//返回 this is str

C風格字串與C 風格字串

c風格字串 對字串進行操作的 c 函式定義在標頭檔案中 1.字串定義 char result 2.字串的最後乙個字元是null字元 0 可以通過這個字元確定字串的結尾。3.strlen 返回的是字串的大小 因此,分配空間的時候,需要比字串的實際空間大1.e.g.char copystring con...

C風格字串與C 風格字串

c風格字串 對字串進行操作的 c 函式定義在標頭檔案中 1.字串定義 char result 2.字串的最後乙個字元是null字元 0 可以通過這個字元確定字串的結尾。3.strlen 返回的是字串的大小 因此,分配空間的時候,需要比字串的實際空間大1.e.g.char copystring con...

c風格字串與c風格字串陣列

include includeusing namespace std int main 輸出結果 0034ff10 0034ff10 0034ff04 013bdc80 char str abcd 先在文字常量區為 abcd 常量分配5b,接著在棧裡為指標str分配4b,並接收 abcd 字串的首位...