字串 字元 位元組

2021-06-26 21:10:40 字數 1509 閱讀 6197

字串就是一串零個或多個字元,並且以乙個位模式為全0的nul位元組結尾。nul位元組是字串的終止符,但它本身並不是字串的一部分,所以字串的長度並不包括nul字元。

複製字串

char *strcpy(char *dst,char const  *src);

這個函式把引數src字串複製到dst引數。如果引數src和dst在記憶體中出現重疊,其結果是來定義的。由於dst引數將進行修改,所以它必須是個字元陣列或者乙個指向動態分配記憶體的陣列的指標,不能使用字串常量。

連線字串

char *strcat(char *dst, char const *src);

strcat函式要求dst引數原先已經包含了乙個字串(可以是空字串)。它找到這個字串的末尾,並把src字串的乙份拷貝新增到這個位置。如果src和dst的位置發生重疊,其結果是為定義的。

字串比較

int strcmp(char const *s1,  char const  *s2);

如果s1小於s2,strcmp函式返回乙個小於零的值,如果s1大於s2,函式返回乙個大於零的值,如果兩個字串相等,函式就返回0.

字串查詢函式

char *strchr(char const *str, int ch);

char *strrchr(char const *str, int ch);

注意它們的第2個引數是乙個整型值,但是,它包含了乙個字串。strchr在字串str中查詢字元ch第1次出現的位置,找到後函式返回乙個指向該位置的指標,如果該字元並存在於字串中,函式就返回乙個null指標。strrchr的功能和strchr基本一致,只是它所返回的是乙個指向字串中該字元最後一次出現的位置。

查詢乙個子串

char *strstr(char const *s1, char const *s2);

這個函式在s1中查詢整個s2第一次出現的起始位置,並返回乙個指向該位置的指標。如果s2並沒有完整地出現在s1的任何地方,函式將返回乙個null指標。如果第2個空字串,函式就返回s1.

字元分類

函式

如果它的引數符合下列條件就返回真

iscntrl

任何控制字元

isspace

空白字元:空格』 』,換頁』\f』,回車』\r』,製表符』\t』,垂直製表符』\v』

isdigit

十進位制數字0~9

isxdigit

十六進製制數字,包括所有十進位制數字,小寫字母a~f,大寫字母a~f

islower

小寫字母a~z

isupper

大寫字母a~z

isalpha

字母a~z,a~z

isalnum

字母或數字,a~z,a~z

ispunct

標點符號,任何不屬於數字或字母的圖形字元

isgrap

任何圖形字元

isprint

任何可列印字元,包括圖形字元和空白字元

字串 字元和位元組

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

字串 字元和位元組

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

多位元組字串轉寬位元組字串(windows)

windows函式 multibytetowidechar提供將多位元組字串轉換為寬位元組字串的功能 參考windows核心程式設計2.8 int multibytetowidechar uint ucodepage,dword dwflags,pcstr pmultibytestr,int cbm...