C C 對常見字串庫函式的實現

2021-10-21 08:34:02 字數 3210 閱讀 5707

在c中的string.h標頭檔案中存在很多對字串進行操作的函式,利用這些函式可以方便的對字串進行操作。下面將對常見的字串函式進行解釋和實現。

函式原型:char* _strcpy(char* dest,char* src)

函式功能:將str所指由nullptr的字串複製到dst所指的陣列中,並返回dest的指標。

函式說明:保證src和dest所指記憶體區域不能重疊且dest必須有足夠的空間來容納src的字串。

函式實現:

char* _strcpy(char* dest, const char* src)

函式原型:char* _strncpy(char* dest,const char* src,size_t n)

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

函式說明:如果src的前n個位元組不含nullptr,則結果不會以nullptr結束;如果src的的長度小於n個位元組,則以nullptr填充dest直到複製完n個位元組;保證src和dest所指記憶體區域不能重疊且dest必須有足夠的空間來容納src的字串。

函式實現

char* _strncpy(char* dest, const char* src, int n)

函式原型:char* _strcat(char dest, const char src)

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

函式說明:保證src和dest所指記憶體區域不能重疊且dest必須有足夠的空間來容納src的字串。

函式實現

char* _strcat(char* dest, const char* src)

注意:使用時若實參dest的建立為char* dest=「abcd」,雖然可以編譯通過,但執行時會引發中斷,因為「abcd」為字串常量,不可修改,可以使用char dest[n]="abcd"進行建立。

函式原型:char* _strncat(char* dest, const char* src,size_t n)

函式功能:把src所指字串的前n個字元新增到dest結尾處(覆蓋dest結尾處的'\0')並新增'\0'。

函式說明:保證src和dest所指記憶體區域不能重疊且dest必須有足夠的空間來容納src的字串。

函式實現

char* _strncat(char* dest, const char* src, size_t n)

*tmp = '\0';//對於src長度大於n時,加上字串結尾

return dest;

}

函式原型:size_t _strlen(const char* str)

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

函式說明:返回s的長度,不包括結束符null。

函式實現

//常規寫法

size_t _strlen(const char* str)

//遞迴寫法,不借助變數(面試題要求)

size_t _strlen_r(const char* str)

函式原型:int _strcmp(const char* dest, const char* src)

函式功能:比較字串dest和src。

函式說明

當dest< src時,返回值 < 0

當dest= src時,返回值 = 0

當dest> src時,返回值 > 0

函式實現

int _strcmp(const char* dest, const char* src)

return (*dest - *src);

}

函式原型:int _strncmp(const char* dest, const char* src, size_t n)

函式功能:比較字串dest和src的前n個字元。

函式說明: 如果前n位元組完全相等,返回值就為0;在前n位元組比較過程中,如果出現dest[n]與src[n]不等,則返回(dest[n]-src[n])。

函式實現

int _strncmp(const char* dest, const char* src, size_t n)

return (*dest - *src);

}

函式原型:char* _strstr(const char* dest, const char* src)

函式功能:找出src字串在dest字串中第一次出現的位置(不包括src的'\0')

函式說明:返回該位置的指標,如找不到,返回空指標。

函式實現

char* _strstr(const char* dest, const char* src)

if (!(*srctmp))

return (char*)desttmp;

dest++;

}return nullptr;

}

C C 對常見字串庫函式的實現

在c中的string.h標頭檔案中存在很多對字串進行操作的函式,利用這些函式可以方便的對字串進行操作。下面將對常見的字串函式進行解釋和實現。strcpy 函式原型 char strcpy char dest,char src 函式功能 將str所指由nullptr的字串複製到dst所指的陣列中,並返...

C C 對常見字串庫函式的實現

原文 strcpy 函式原型 char strcpy char dest,char src 函式功能 將str所指由nullptr的字串複製到dst所指的陣列中,並返回dest的指標。函式說明 保證src和dest所指記憶體區域不能重疊且dest必須有足夠的空間來容納src的字串。函式實現 char...

常見字串函式實現

1,strlen 計數法 unsigned int my strlen1 const char str return count 遞迴法 unsigned int my strlen2 const char str 首尾相減法 unsigned int my strlen3 const char s...