mystring.h文件内容:
//常用字符串操作 #ifndef MYSTRING_H #define MYSTRING_H //计算字符昨晚上度 int charLength(char* ch){ int i=0; while(*ch++!=' '){ ++i; } return i; } //将src字符串复制到ch中 void Mystrcpy(char* ch,char*src){ int i; for ( i=0;*(src+i)!=' ';++i) { *(ch+i)=*(src+i); } *(ch+i)=' '; } //新src中字符串添加到ch尾部 void MyStrcat(char *ch,char *src){ int i; int j; for (i=0;*(ch+i)!=' ';++i); for (j=0;*(src+j)!=' ';++j,++i) { *(ch+i)=*(src+j); } *(ch+i)=' '; } //打印字符串 void printChar(char* ch){ for (int i=0;*(ch+i)!=' ';i++) { printf("%c",*(ch+i)); } } //比较字符串大小 int MyStrcmp( char *ch,char*src){ int i; for (i=0;*(ch+i)!=' '&&*(src+i)!=' ';++i) { if(*(ch+i)-*(src+i)>0){ return 1; break; }else if (*(ch+i)-*(src+i)<0) { return -1; break;; } } if (*(ch+i)==' ' && *(src+i)!=' ') { return -1; }else if (*(ch+i)!=' ' && *(src+i)==' ') { return 1; }else { return 0; } } #endif
#include <stdio.h> #include "mystring.h" int main( void ) { char *src="zhaochao"; //测试charLength() int length=charLength(src); printf("字符串长度为:%d ",length); //测试Mystrcpy() char ch[10]; printf("复制前ch内容:"); printChar(ch); Mystrcpy(ch,src); printf(" 复制后ch内容:"); printChar(ch); //测试MyStrcat char ch2[20]="abc"; printf(" 复制前ch内容:"); printChar(ch2); MyStrcat(ch2,src); printf(" 复制后ch内容:"); printChar(ch2); //测试MyStrcmp char *ch3="zhaod"; char *ch4="zhaob"; char *ch5="zhaochao"; printf(" %d",MyStrcmp(ch3,src)); printf(" %d",MyStrcmp(ch4,src)); printf(" %d",MyStrcmp(ch5,src)); }
运行结果:
字符串长度为:8 复制前ch内容:烫烫烫烫烫烫烫烫烫烫 复制后ch内容:zhaochao 复制前ch内容:abc 复制后ch内容:abczhaochao 1 -1 0 请按任意键继续. . .