题目
- 实现 mystrcpy(), mystrcmp(), mystrcat(), mystrlen() ;
思路
功能实现:针对字符串的操作,即str系列接口的原理的实现。
代码
#include <stdio.h> #include <stdlib.h> char* mystrcpy(char *to,char *from) { int i=0; while(from[i]) { to[i]=from[i]; i++; } to[i]=0;//或to[i]='\0'; return to; } int mystrlen( char *str ) { int i=0; while(str[i]) { i++; } return i; } int mystrcmp(char *str1,char *str2) { int i=0; while(str1[i]) { if(str1[i]!=str2[i]) break; i++; } return str1[i]-str2[i]; } char* mystrcat(char *str1,char *str2) { int i=mystrlen(str1); int j=0; while(str2[j]) { str1[i]=str2[j]; i++; j++; } str1[i]=str2[j]; return str1; } int main() { char c[20]="hello"; char d[10]; mystrcpy(d,c); puts(d); printf("%d\n",mystrlen(d)); printf("cmp=%d\n",mystrcmp("hello","hello")); printf("%s\n",mystrcat(c,"world")); system("pause"); }
执行结果