模拟实现strncat:
在系统库函数中,存在strncat这个函数,它用于字符串的追加,就是在一个字符串后面再追加一个字符串,它的函数原型为:
char *strncat( char *strDest, const char *strSource, size_t count );
在其中,*strDest为目标字符串,*strSource为源字符串,count为需要追加的字符串的个数,strncat就是将源字符串追加count个字符在目标字符串后面。size_t表示无符号整型,因为count不可能为负数。同样也可以自己定义:
typedef unsigned int nuit;
模拟代码实现 :
#include<stdio.h> #include<assert.h> #include<stdlib.h> typedef unsigned int uint; char *my_strncat(char *dest, const char *src, uint count)//模拟实现strncat函数 { assert(dest); assert(src); int *ret = dest; while (*dest) { dest++; //找到dest中的\0 } while (count--) { *dest++ = *src++; } *dest = ‘\0‘; return ret; } //程序测试 int main() { char arr[20] = "abcdef"; int len = strlen(arr); my_strncat(arr, arr, len); printf("%s\n", arr); system("pause"); return 0; }
时间: 2024-10-12 14:55:51