mystring.h文件内容:
//常用字符串操作
#ifndef MYSTRING_H
#define MYSTRING_H
//计算字符昨晚上度
int charLength(char* ch){
int i=0;
while(*ch++!='\0'){
++i;
}
return i;
}
//将src字符串复制到ch中
void Mystrcpy(char* ch,char*src){
int i;
for ( i=0;*(src+i)!='\0';++i)
{
*(ch+i)=*(src+i);
}
*(ch+i)='\0';
}
//新src中字符串添加到ch尾部
void MyStrcat(char *ch,char *src){
int i;
int j;
for (i=0;*(ch+i)!='\0';++i);
for (j=0;*(src+j)!='\0';++j,++i)
{
*(ch+i)=*(src+j);
}
*(ch+i)='\0';
}
//打印字符串
void printChar(char* ch){
for (int i=0;*(ch+i)!='\0';i++)
{
printf("%c",*(ch+i));
}
}
//比较字符串大小
int MyStrcmp( char *ch,char*src){
int i;
for (i=0;*(ch+i)!='\0'&&*(src+i)!='\0';++i)
{
if(*(ch+i)-*(src+i)>0){
return 1;
break;
}else if (*(ch+i)-*(src+i)<0)
{
return -1;
break;;
}
}
if (*(ch+i)=='\0' && *(src+i)!='\0')
{
return -1;
}else if (*(ch+i)!='\0' && *(src+i)=='\0')
{
return 1;
}else
{
return 0;
}
}
#endif
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
调用方式:
#include <stdio.h>
#include "mystring.h"
int main( void )
{
char *src="zhaochao";
//测试charLength()
int length=charLength(src);
printf("字符串长度为:%d\n",length);
//测试Mystrcpy()
char ch[10];
printf("复制前ch内容:");
printChar(ch);
Mystrcpy(ch,src);
printf("\n复制后ch内容:");
printChar(ch);
//测试MyStrcat
char ch2[20]="abc";
printf("\n复制前ch内容:");
printChar(ch2);
MyStrcat(ch2,src);
printf("\n复制后ch内容:");
printChar(ch2);
//测试MyStrcmp
char *ch3="zhaod";
char *ch4="zhaob";
char *ch5="zhaochao";
printf("\n%d",MyStrcmp(ch3,src));
printf("\n%d",MyStrcmp(ch4,src));
printf("\n%d",MyStrcmp(ch5,src));
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
运行结果: