C風格字串及常用庫函式總結

2021-07-29 08:31:21 字數 2428 閱讀 4799

1、c風格字串:

我們知道字串字面值的型別就是字串常量的陣列,即const char型別的陣列。

c++從c語言裡繼承下來的一種通用結構是c風格字串(c-style character string),而字串字面值就是該型別的例項。

c風格字串:以空字元null結束的字元陣列。例如:

char ca1 = ; //no null, not c-style string

char ca2 = ;

char ca3 = "c++"; //null terminator added automatically

const char * cp = "c++"; //null terminator added automatically

2、c風格字串常用標準庫函式總結:

標頭檔案

#include

size_t strlen(const char * str);

//功能:計算字串str的長度。

//返回:字串str的長度,不包括結束符null。注意和sizeof的區別。

char * strtok(char * s, const char * delim);

//功能:分解字串為一組子串。s為要分解的字串,delim為分隔符。

//返回:分解出的子串的指標,分解完最後返回null

char * strstr(const char * str1, const char * str2);

//功能:從str1中尋找str2第一次出現的位置(不比較結束符null)

//返回:如果存在,則返回str2在str1中首次出現的指標位置,否則,返回null。

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

//功能:查詢字串str中首次出現字元ch的位置。

//返回:返回首次出現ch的位置的指標,不存在則返回null。

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

//功能:把src所指字串複製到dest所指的陣列中。src和dest所指的記憶體不能重疊,且dest必須要有足夠的空間來容納src。

//返回:指向dest的指標。

char * strncpy(char * dest. const char * src, int n);

//功能:把由src所指字串的前n個位元組複製到dest所指的陣列中。

//說明:如果src的前n個位元組不含null字元。則結果不會以null字元結束。需手動新增。src和dest所指的記憶體不能重疊,且dest必須要有足夠的空間來容納src的字串。

//返回:指向dest的指標。

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

//功能:把src所指字串新增到dest結尾處(覆蓋dest結尾處的'\0')並新增'\0'。

//返回:指向dest的指標。

char * strncat(char * dest, const char * src, size_t n);

//功能:附加指定長度的字串到dest。

//返回:指向dest的指標。

int strcmp(const char * str1, const char * str2);

//功能:比較字串str1和str2

//返回:當s1 < s2,返回值 < 0; 當s1 = s2,返回值 = 0; 當s1 > s2,返回值 > 0;

int strncmp(const char * str1, const char * str2, size_t n);

//功能:比較str1和str2的前n個位元組是否相同。

//返回:若str1與str2的前n個字元相同,則返回0;若s1大於s2,則返回大於0的值;若s1 若小於s2,則返回小於0的值。

void * memset(void * ptr, int ch, size_t n);

//功能:將ptr所指向的某塊記憶體中的前n個位元組的內容全部設定為ch指定的ascii碼

//返回:指向ptr的指標。可用於變數初始化等。

//注意:按位元組對記憶體塊進行初始化。

void * memmove(void * dest, void * src, size_t n);

//功能:由src所指記憶體開始複製n個位元組到dest所指的記憶體區域。

//返回:指向dest的指標

//說明:src和dest所指記憶體區域可以重疊,但複製後src內容會被更改。

void * memcpy(void * dest, void * src, size_t n);

//功能:由src所指記憶體開始複製n個位元組到dest所指的記憶體區域。

//返回:指向dest的指標

//說明:src和dest所指記憶體區域不可以重疊。

操縱C 風格字串標準庫函式

這些標準庫函式不會檢查其字串引數 傳遞給這些標準庫函式例程的指標必須具有非零值,並且指向以null結束的字元陣列中的第乙個元素。strlen s 返回s的長度,不包括字串結束符 null strcmp s1,s2 比較兩個字串是否相同。相等則返回0 s1 s2,返回正數,s1strcat s1,s2...

c語言字串處理的常用庫函式總結

對c語言的字串處理的常用庫函式總結一下,並進行實現。1.字串比較 1.字串比較 int strcmp consyt char s1,const char s2 比較兩個字串的大小 不忽略大小寫 是以ascii碼表上順序來比較的,strcmp 首先將s1第乙個字元值減去s2,第乙個字元值,若差值為0,...

C語言的字串常用庫函式

strcpy str1,str2 將字串str2複製到str1中,這個庫函式不會檢查str1的容量是否足夠長度。strncpy str1,str2,size t 將字串str2從頭開始複製size t個字元到str1中,這個庫函式會檢查str1的容量是否足夠長度。memset str,0 5 將st...