C字串操作

2021-09-26 06:03:57 字數 1196 閱讀 1047

記錄字串初始化、i/o操作

char str=

"abc"

;char str=

;// 末尾沒有\0, 列印會出現亂碼

char str[10]

=;// 初始化長度小於陣列長度時, 會自動新增 \0

char

*p =

"abc"

;

char

* p =

"abc"

;printf

("%s\n"

, p)

;// abc

prinft

("%s\n"

,*p)

;// a?????找不到結束符,會一直列印

printf

("%s\n"

, p[0]

);// 同上

printf

("%c\n"

,*p)

;// a

printf

("%c\n"

, p[0]

);// a

注意:陣列變數是乙個特殊的指標,不能修改它的指向;如果被使用的陣列會改變指向,可以用指標型別

char cs=

"abc"

;cs =

"bcd"

;// err: 表示式必須是乙個可以修改的左值

// 說明cs已經被修飾為 char const* cs

為什麼要把陣列設計為常量指標?

解釋1:確保函式執行完成後編譯器好釋放空間,如果陣列位址可以改變但長度沒有改變,最終導致釋放的記憶體區域不正確(為什麼不做乙份首位址拷貝?,原諒我天馬行空的想法)。

/**

* 字串拷貝

* @param to 儲存拷貝結果

* @param from 拷貝源

* @return len 拷貝成功返回有效字元個數, 否則返回0

*/int

str_cpy

(char

* to,

char

* from)

c 字串操作

獲得漢字的區位碼 bytearray newbyte 2 求字串長度 求字串長度 int len string inputstring 檢測含有中文字串的實際長度 str為要檢測的字串 asciiencoding n new asciiencoding byte b n.getbytes str i...

C 字串操作

1.根據單個分隔字元用split擷取 例如複製 如下 string st gt123 1 string sarray st.split 即可得到sarray 0 gt123 sarray 1 1 2.利用多個字元來分隔字串 例如複製 如下 string str gtazb jiangjben 123...

C字串操作

c字串操作 注 文中的幾個大小寫不敏感比較函式,原文用的是stricmp等,後來發現linux的std庫沒有,改為strcasecmp系列。函式名 strcpy 功 能 拷貝乙個字串到另乙個字串 用 法 char strcpy char destin,char source 程式例 i nclude...