当前位置:编程学习 > C/C++ >>

字符串处理函数strcat 、 strcpy 、 strlen、strcmp的源函数

  • /*  
    * 程序的版权和版本声明部分:  
    * Copyright (c) 2012, 烟台大学计算机学院  
    * All rights reserved.  
    * 文件名称:4个函数分别实现两个字符数组内容拼接、两个字符数组内容拷贝、求字符数组内字符串长、两个数组内容的比较.cpp  
    * 作    者:毛通  
    * 完成日期:2013 年 1月 14日  
    * 版 本 号:v1.0  
    * 对任务及求解方法的描述部分: 指针作形参
    * 输入描述:无  
    * 问题描述:
    * 程序输出:“”  
    * 问题分析:略 
    * 算法设计:略
    */
     
     
     
    [cpp]  
    /* 
    自己写4个函数分别实现两个字符数组内容拼接、两个字符数组内容拷贝、求字符数组内字符串长、两个数组内容的比较。类似于字符串处理函数strcat 、 strcpy 、 strlen、strcmp的作用 。(要求用两种方式,一种用数组做形参,一种用指针做形参) 
    指针作实参 
    */  
      
    # include <iostream>  
      
    using namespace std;  
      
    int main()  
      
    {  
        void mystrcpy(char *,char *);  
        void mystrcat(char *,char *);  
        int  mystrlen(char *);  
        void mystrcmp(char *,char *);  
      
        char str1[100]="i love china",str2[100]="i hate japan",str3[100];//接下来要做的工作就是把str2的内容添加到str1的后面  
        char *p1,*p2,*p3;  
      
        mystrcmp(str1,str2);  
        cout<<endl<<"mystrcmp函数成功"<<endl;  
      
        cout<<"str1有"<<mystrlen(str1)<<"个字符"<<endl;  
        cout<<"mystrlen函数成功"<<endl;  
      
        mystrcpy(str1,str3);  
        p1=str1;  
        p3=str3;  
        cout<<"str1"<<p1<<endl;  
        cout<<"str3"<<p3<<endl;  
        cout<<"mystrcpy函数成功"<<endl;  
      
      
        mystrcat(str1,str2);  
        p1=str1;  
        p2=str2;      
        cout<<"str1="<<p1<<endl;  
        cout<<"str2="<<p2<<endl;  
        cout<<"mystrcat函数成功"<<endl;  
      
        return 0;  
    }  
      
    void mystrcat(char *p1,char *p2)  
    {  
        for (;*p1!='\0';p1++)  
            ;  
      
        for(; *p2!='\0';p2++)  
        {  
            *p1=*p2;  
            p1++;  
        }  
        *p1='\0';  
    }  
      
    int mystrlen(char *p1)  
    {  
        int i=0;  
          
        for(;*p1!='\0';i++)  
            ++p1;  
        return i;  
    }  
      
    void mystrcmp(char *p1,char *p2)  
    {  
        int i;  
        while(!(i=*p1-*p2)&&*p1&&*p2)  
            p1++,p2++;  
        if(i<0)  
            cout<<"str1字符串小";  
        else if(i>0)  
            cout<<"str2字符串大";  
    }  
      
    void mystrcpy(char *p1,char *p3)  
    {  
        for(;*p1!='\0';p3++,p1++)  
        {  
            *p3=*p1;    
        }  
        *p3='\0';  
    }  
     
    /*
    运行结果:
     
    */
补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,