#include
#define SIZE 11
char* mystrncpy(char*, char*, int);
void s_gets(char*,int);
int main(void)
{
char target[SIZE];
char source[SIZE];
int n;
do
{
printf("请输入要拷贝的字符数量:\n");
while ((scanf_s("%d", &n)) != 1)
printf("输入错误,请正确输入一个正整数:\n");
while (getchar() != '\n')
continue;
printf("请输入要拷贝的字符串:\n");
s_gets(source, SIZE);
mystrncpy(target, source, n);
printf("拷贝的源字符串:%s\n", source);
printf("拷贝的目标字符串:%s \n", target);
printf("\n");
} while (1);
return 0;
}
char* mystrncpy(char* target, char* source, int n)
{
int i;
for (i = 0; i < n && source!= NULL; i++, target[i], source++)
target[i] = *source;
if(source==NULL)
target[i] = '\0';
return target;
}
void s_gets(char*s, int n)
{
char* temp;
if (temp = fgets(s, n, stdin))
{
while (*s != '\n' && *s != '\0')
s++;
if (*s == '\n')
*s = '\0';
else
while (getchar() != '\n')
continue;
}
}