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...