模拟实现strncat

来源:互联网 发布:叉叉助手网络连接失败 编辑:程序博客网 时间:2024/04/29 13:18

   先演示一下,strncat函数的效果,程序代码如下:

#include <string.h>#include <stdio.h>void main(void){char string[80] = "This is the initial string!";char suffix[] = " extra text to add to the string...";/* Combine strings with no more than 19 characters of suffix: */printf("Before: %s\n", string);strncat(string, suffix, 19);printf("After:  %s\n", string);system("pause");return 0;}

运行结果如下:

函数参数有原字符串,目标字符串,操作字符数,函数运行后会将一定数目的目标字符串内容加到原字符串的后面,下面给出程序代码:

#include <stdio.h>#include <Windows.h>#include <assert.h>#include <string.h>char *mystrncat(char *strDest, const char *strSource, size_t count){assert(strDest);assert(strSource);int len = strlen(strDest);char *rat = strDest;   //记下string的开始地址char *ret = strDest + len;    //从要加的字符串最后一个字符后开始while (count-- > 1)  //strncat要求添加的字符数是不大于count的,所以这里的限制条件是count,只要(count-- > 1)是大于0的,就可以执行循环体{*ret++ = *strSource++;}return rat;  //返回到原字符串开始位置}int main(){char string[80] = "This is the initial string!";char suffix[] = " extra text to add to the string...";printf("Before: %s\n", string);/* Combine strings with no more than 19 characters of suffix: */mystrncat(string, suffix, 19);printf("After: %s\n", string);system("pause");return 0; }


程序运行结果如下:


0 0
原创粉丝点击