头文件:
- # ifndef Str_H
- # define Str_H
- int strlen(char *s);
- char *strcat(char *s1,char *s2);
- int strcmp(char *s1,char *s2);
- # endif
- # include "str.h"
- int strlen(char *s)
- {
- char *p=s;
- int len=0;
- while(*p!='\0')
- {
- len++;
- p++;
- }
- return len;
- }
- char *strcat(char *s1,char *s2)
- {
- char *p=s1,char *q=s2;
- while(*p!='\0')
- p++;
- while(*p!='\0')
- {
- *p=*q;
- p++,q++;
- }
- *p='\0';
- return s1;
- }
- int strcmp(char *s1,char *s2)
- {
- char *p=s1,*q=s2;
- while(*p!='\0' && *q!='\0')
- {
- if(*p>*q)
- return 1;
- else if(*p<*q)
- return -1;
- else{p++;q++;}
- }
- if(*p=='\0' && *q=='\0')
- return 0;
- if(*p!='\0')
- return 1;
- if(*q!='\0')
- return -1;
- }
主函数:
- #include <iostream>
- #include"str.h"
- using namespace std;
- int main()
- {
- char ch[20]="data",*str="bases";
- cout<<"data"<<"bases"<<endl;
- cout<<"data"<<"的字符长度为:"<<strlen(ch)<<endl;
- cout<<"bases"<<"的字符长度为:"<<strlen(str)<<endl;
- cout<<"前后字符相差:"<<strcmp(ch,str)<<endl;
- cout<<"后前字符相差:"<<strcmp(str,ch)<<endl;
- cout<<endl;
- return 0;
- }