在做c prime plus的课后习题时发现这个题目,网上找到的解答好像都有错误的地方,于是试着自己写了一个。
strncpy (sl,s2,n)函数从s2复制n个字符给sl,并在必要时截断s2或为其填充额外的空字符。如果s2的长度等于或大于n,目标字符串就没有标志结束的空字符。函数返回sl。自己编写这个函数,并在一个使用循环语句为这个函数提供输入的完整程序中进行测试。
#define LEN 80
char * strncpy1(char *, char *, int);
int main(void)
{
char str1[LEN], str2[LEN];
int n;
char *ptr;
printf("请输入要复制的字符串:");
while (gets(str2))
{
printf("输入原始字符串:");
gets(str1);
printf("复制的字符数目:");
scanf("%