作者: 苏鑫的博客 | 来源:发表于2017-09-26 21:45 被阅读0次
    #include<stdio.h>
    
    #define MAXSTRSIZE 255
    #define True 1
    #define False 0
    typedef int bool;
    typedef unsigned char String[MAXSTRSIZE+1];
    void StrAssign(String,unsigned char []);
    void StrShow(String);
    int StrLength(String);
    void StrCopy(String,String);
    void SubString(String,String,int,int);
    int StrCompare(String,String);
    bool StrEmpty(String);
    void Index(String,String,int);
    
    
    void StrAssign(String s,unsigned char chars[]){
        int i = 0;
        while(chars[i]!='\0'){
            s[i] = chars[i];
            i++;
            
            }
        }
    bool StrEmpty(String s){
        if(s[0]=='\0'){
            return True;
            }else{
            return False;   
            }
        }
    void StrCopy(String t,String s){
        int i = 0;
        while(s[i]!='\0'){
            t[i] = s[i];
            i++;
            }
        }
    int StrLength(String s){
        int i = 0;
        while(s[i]!='\0'){
            i++;
            }
        return i;
        }
    int StrCompare(String s,String t){
        if(!StrEmpty(s)&&!StrEmpty(s)){
            if(StrLength(s)==StrLength(t)){
                int i = 0;
                while(s[i]!='\0'&&t[i]!='\0'){
                    if(s[i]!=t[i])break;
                    i++;
                    }
                return 0;
                }else{
                return StrLength(s)-StrLength(t);   
                }
            }
            return -1;
        }
    void SubString(String sub,String s,int pos,int len){
        int i = 0;
        while(s[pos]!='\0'&&len>0){
            sub[i++] = s[pos++];
            len--;
            }
        }
    void Index(String s,String sub,int pos){
        if(1<=pos||pos<=StrLength(s)){
            int i = 0;
            while(sub[i]!='\0'){
                if(s[pos++]!=sub[i++])break;
                }
            if(i==StrLength(sub)){
                printf("true");
                }
            }
        }
    void StrShow(String s){
        if(s){
            printf("%s\n",s);
            }
        }
        
    int main(){
        String str;
        unsigned char c[]= "hello world!";
        StrAssign(str,c);
        StrShow(str);
        String t;
        StrCopy(t,str);
        StrShow(t);
        String sub;
        SubString(sub,str,6,5);
        StrShow(sub);
        Index(str,sub,6);
        
        }
    
    

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/ribeextx.html