C/C++ 对常见字符串库函数的达成
发布时间:2021-12-10 16:55:27 所属栏目:PHP教程 来源:互联网
导读:在C中的string.h头文件中存在很多对字符串进行操作的函数,利用这些函数可以方便的对字符串进行操作。下面将对常见的字符串函数进行解释和实现。 strcpy 函数原型:char* _strcpy(char* dest,char* src) 函数功能:将str所指由nullptr的字符串复制到dst所指
在C中的string.h头文件中存在很多对字符串进行操作的函数,利用这些函数可以方便的对字符串进行操作。下面将对常见的字符串函数进行解释和实现。 strcpy 函数原型:char* _strcpy(char* dest,char* src) 函数功能:将str所指由nullptr的字符串复制到dst所指的数组中,并返回dest的指针。 函数说明:保证src和dest所指内存区域不能重叠且dest必须有足够的空间来容纳src的字符串。 函数实现 char* _strcpy(char* dest, const char* src) { assert(dest != nullptr&&src != nullptr); //判断dest指针和src指针是否为空,若为空抛出异常 char* tmp = dest; while (*tmp++ = *src++) ; return dest; } strncpy 函数原型: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) { assert(dest != nullptr&&src != nullptr); //判断dest指针和src指针是否为空,若为空抛出异常 int i = 0; char* tmp = dest; while (i++ < n && (*tmp++ = *src++)) ; while (i++ < n) *tmp++ = ' |