#include<stdio.h>
#include <windows.h>
#define N 10
void main()
{
char choice = ‘1’;
void mystrcpy(char str_1[],char str_2[]);
void mystrncpy(char str1[],char str2[]);
void mystrcat(char str1[],char str2[]);
void mystrlen(char str1[]);
char str1[N];
char str2[N];
printf("\n");
printf("请输入字符串:");
gets(str1);
printf("\n");
printf("请输入字符串:");
gets(str2);
printf("\n");
printf("1.调用mystrcpy\n");
printf("2.调用mystrncpy\n");
printf("3.调用mystrcat\n");
printf("4.调用mystrlen\n");
printf("0.Exit the system \n");
printf("Please choise (0-4): \n");
while (choice != '0')
{
choice = getchar();
switch(choice)
{
case '1': mystrcpy(str1,str2);break;
case '2': mystrncpy(str1,str2);break;
case '3': mystrcat(str1,str2);break;
case '4': mystrlen(str1);break;
case '0':exit(0);
default:
printf("Choice Error,Please select again(0-4).");
}
}
}
void mystrcpy(char str_1[],char str_2[])
{
int i;
for(i = 0;i<N;i++)
{
str_1[i] = str_2[i];
}
str_1[N] = '\0';
printf("%s",str_1);
printf("\n");
}
void mystrncpy(char str1[],char str2[])
{
int i,n;
printf(“请输入n,将前n个字符进行复制:”);
scanf("%d",&n);
printf("\n");
for(i = 0;i<n;i++)
{
str1[i] = str2[i];
}
str1[n] = '\0';
printf("%s",str1);
printf("\n");
}
void mystrcat(char str1[],char str2[])
{
int length = 0,i;//测字符串str1的长度
for(i = 0;str1[i] != '\0';i++) length++;
for(i = 0;str2[i] != '\0';i++,length++)
{
str1[length] = str2[i];
}
str1[length+i] = '\0';
printf("%s",str1);
printf("\n");
}
void mystrlen(char str1[])
{
int i,length = 0;
for(i = 0;str1[i] != '\0';i++) length++;
printf("字符串的长度为%d",length);
printf("\n");
}