本文主要是介绍strncat 函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
函数理解记忆:str表示的是该函数为string.h里的函数。nnat比strcat多了一个n表示是有数量number的追加。
函数的传入值和返回值: char* strncat( char*brr,char*arr,size_t n); 分别传入被追加的字符串,追加的字符串,追加字符串的长度。
举例:
函数的自我实现:
char* my_strncat(char* brr, char* arr,size_t n) {
for (; *brr != '\0'; ++brr); //寻找brr要追加的地方
for (; n-- && (*arr) != '\0'; *(brr++) = *(arr++)); //进行追加,进行n次,如果在此之前就遇到'\0'那 return brr; 么就提前结束
}
函数缺点:如果brr空间不够,函数依然是一样的会报错而不是扩容。这里我就不改进了。
把原理和实现的困难说一下。既然不足要么realloc,但是传入的brr不是用malloc或者calloc或者realloc出来的,所以不能用。那就只能自己用malloc或者calloc一个出来。但是原来的brr内存就没用了且不释放。
这篇关于strncat 函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!