//字符串拷贝
//void my_string(char* p1, char* p2)
//{
// char* tmp = p1;
// while (*p1++ = *p2++)
// {
// ;
// }
//
// printf("%s \n", tmp);
//}
//
//int main()
//{
// char arr[] = "xxxxxxxxx";
// char arr1[] = "sdada";
// my_string(arr, arr1);
// printf("%s \n", arr);
// system("pause");
// return 0;
//}
//模拟实现strcmp
//int my_strcmp(char* p1, char* p2)
//{
// while (*p1 == *p2)
// {
// if (*p1 = '\0')
// {
// return 0;
// }
// p1++;
// p2++;
// }
// return *p1 - *p2;
//
//}
//int main()
//{
// char arr[] = "sdasdasdas";
// char arr1[] = "sadasdasdasd";
//
// /*int ret=strcmp(arr, arr1);*/
// /*int ret = strncmp(arr, arr1, 5);*/
// int ret = my_strcmp(arr, arr1); //>0 可不一定是1 是大于一的随机数;
// printf("%d\n", ret);
// system("pause");
// return 0;
//}
//模拟实现 strstr() 返回值是char*
//char* my_strstr(char* p1, char* p2)
//{
//
//
// while (*p1 != '\0')
// {
// char* p11 = p1;
// char* p22 = p2;
// while (*p11 == *p2)
// {
// p11++;
// p2++;
// }
// if (*p2 == '\0')
// {
// return p1;
// }
//
//
//
// p1++;
// }
// return NULL;
//}
//
//int main()
//
//{
// char arr[] = "dfsdfds";
// char arr2[] = "dfd";
// /*char* tmp = strstr(arr, arr2);*/
//
// char*tmp=my_strstr(arr, arr2);
// if (tmp != NULL)
// {
// printf("%s\n", tmp);
// }
//
//
//
// system("pause");
// return 0;
//}
//
char* my_strtok(char* arr, char* arr1)
{
char* tmp = NULL;
for (tmp=strtok(arr, arr1);tmp!=NULL; tmp=strtok(NULL, arr1))
{
printf("%s\n", tmp);
}
}
int main()
{
char arr[] = "sdasd@qq.com"; //strtok 每工作一次 会将字符串中的特定字符改变为\0 并且返回分割之前首元素的地址;会改变源字符串 应该拷贝使用 如果往后查找不到 返回null
char*tmp=my_strtok(arr, arr1);
//printf("%s", arr);
system("pause");
return 0;
}