1、puts
void myPuts(char* p)
{
while(*p != '\0'){
putchar(*p++);
}
putchar('\n');
}
2、gets
int myGets(char* p)
{
int cnt = 0;
if(p == NULL){
printf("内存非法\n");
return 0;
}
while(*p = getchar()){
if(*p == '\n'){
return cnt;
}else{
cnt++;
p++;
}
}
}
int main()
{
char* pstr;
pstr = (char*)malloc(128);
memset(pstr,'\0',128);
myPuts("请输入字符\n");
int data = myGets(pstr);
printf("输入了%d个字符\n",data);
myPuts(pstr);
system("pause");
return 0;
}
3、strlen
int myStrlen(char* p)
{
int cnt = 0;
while(*p++ != '\0'){
cnt++;
}
return cnt;
}
int main()
{
char* pstr = "hello,world";
int data = myStrlen(pstr);
printf("字符串长度为%d\n",data);
system("pause");
return 0;
}
4、memset
void myMemset(char* p,char c,int size)
{
while(size){
*p++ = c;
size--;
}
}
int main()
{
char* pstr;
pstr = (char*)malloc(128);
myMemset(pstr,'o',128);
pstr[128] = '\0';
puts(pstr);
system("pause");
return(0);
}
5、strcpy
char* myStrcpy(char *test,char* p)
{
if(test == NULL || p == NULL){
return NULL;
}
while(*p != '\0'){
*test++ = *p++;
}
*test = '\0';
return test;
}
int main()
{
char* str = "hello,world";
char test[128] = "china";
myStrcpy(test,str);
puts(test);
system("pause");
return(0);
}
6、strncpy
char* myStrcpy(char *test,char* p,int data)
{
if(test == NULL || p == NULL){
return NULL;
}
while(*p != '\0' && data > 0){
data--;
*test++ = *p++;
}
*test = '\0';
return test;
}
int main()
{
char* str = "hello,world";
char test[128] = "china";
myStrcpy(test,str,2);
puts(test);
system("pause");
return(0);
}
7、strcat
void myStrcat(char* test,char* str)
{
while(*test != '\0'){
test++;
}
while(*str != '\0'){
*test++ = *str++;
}
*test = '\0';
}
int main()
{
char* str = "hello,world";
char test[128] = "china";
myStrcat(test,str);
puts(test);
system("pause");
return(0);
}