面试中经常要写
char * strcpy(char* dst,char * src)
char * strcat(char* dst,char* src)
int strcmp(char * src1 , char* src2)
要写一些这样的行数,下面是具体的实现:
// test56.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
char* strcpy(char * dst, char * src)
{
char *p = dst;
while(*dst ++ = *src ++);
return dst;
}
char* strcat(char * dst , char * src)
{
char *p = dst;
while(*p)
++p ;
while(*p++ = *src++);
return dst;
}
int strcmp(char * src1,char * src2)
{
int ret = 0;
while(!(ret = *(unsigned char *)src1 - *(unsigned char *)src2))
++ src1, ++ src2;
if(ret > 0)
return 1;
else if(ret < 0)
return -1;
else
return 0;
}
int main(int argc, char* argv[])
{
char *dst = new char[100];
char *src = "hello,world!";
strcpy(dst,src);
cout<<dst<<endl;
char src1[100] = "first char sequence ," ;
char *src2 = "seconde char sequence";
strcat(src1,src2);
cout<<src1<<endl;
char *src3 = "hello,this is a test.";
char *src4 = "hello,this is a strcat test";
cout<<strcmp(src3,src4)<<endl;
return 0;
}
参考链接:
http://blog.csdn.net/yexianyi/article/details/4092945