一下实现包括strlen(), strcpy(), strncpy(), strcat(), strncat(), 等等
#include<iostream>
using namespace std;
int strlen1(const char *str)
{
int i = 0;
while (str[i] != '\0')
i++;
return i;
}
//赋值表达式返回左操作数
char *strcop1(char *des, const char *source)
{
if (des == source)
return des;
else
{
while (*des++ = *source++){};
return des;
}
}
char *strncop1(char *des, const char *source, int n)
{
if (des == source)
return des;
else
{
while ((n--) && (*source != '\0'))
{
*des++ = *source++;
}
*des = '\0';
return des;
}
}
int strcomp1(const char *des, const char *sou)
{
assert(des != NULL && sou != NULL);
while (*des == *sou && *des && *sou)
{
++des;
++sou;
}
return *des - *sou;
}
char *strcat(char* &des, const char *source)
{
while (*des != '\0')
{
++des;
}
while (*source != '\0')
*des++ = *source++;
*des = '\0';
return des;
}
int main()
{
char *r= "HELLO world!";
int len = strlen1(r);
cout << "length:" << len << endl;
char *sour = "hello";
char arry[20];
//strcop1(arry, sour);
strncop1(arry, sour, 5);
puts(arry);
char *p = strcat(arry, r);
puts(p);
cout << strcomp1(r, arry) << endl;
system("pause");
return 0;
}