欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Chapter 11.7

程序员文章站 2024-03-01 09:01:40
...
/*strncpy(s1,s2,n)函数吧s2中的n个字符拷贝至s1中,截断s2,或者有必要的话在末尾添加空字符。如果s2的长度是n或多于n,目标字符串不能以空字符结尾。该函数返回s1.自己编写这样一个函数mystrchr()。在一个完整的程序中测试该函数,使用一个循环给函数提供输入值。*/
# include <stdio.h>

char mystrncpy(char *target,char *source,int n)
{
    char *p=source;
    for(int i=0; i<n; i++)
    {
        target[i]=*p;
        p++;
        if(*p=='\0')
            break;
    }
    target[n]='\0';
}
int main()
{
    char s1[20];
    char s2[]="C primer plus";
    int n;
    while(scanf("%d",&n)==1)
    {
        mystrncpy(s1,s2,n);
        puts(s1);
    }
    return 0;
}