zoukankan      html  css  js  c++  java
  • C++字符串库函数——strcat,strcmp,strlen,itoa

    C++字符串库函数——strcat,strcmp,strlen,itoa

    #include<iostream>
    #include<assert.h> 
    using namespace std;
    char *strcat(char * strDest,const char *strSrc)
    {
    	char *address=strDest;
    	assert((strDest!=NULL)&&(strSrc!=NULL));
    	while(*strDest)
    		strDest++;
    	while(*strDest++=*strSrc++)
    	{
    		NULL;
    	}
    	return address;
    }
    
    int strcmp (const char *str1,const char *str2)
    {           
    	int len = 0;
    	assert((str1 != '\0') && (str2 != '\0'));
    	while(*str1 && *str2 && (*str1 == *str2))
    	{
    		str1++;
    		str2++;
    	}
    	return *str1-*str2;
    }
    int mystrlen(const char *str)
    {
    	int len = 0;
    	assert(str != NULL);
    	while(*str++)
    	{
    		len++;
    	}
    	return len;
    }
    char *itoa(int num,char *str,int radix)  {  
    	/* 索引表 */    
    	char index[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";  
    	unsigned unum; /* 中间变量 */   
    	int i=0,j,k;      /* 确定unum的值 */ 
    	if(radix==10&&num<0) /* 十进制负数 */    
    	{ unum=(unsigned)-num;  str[i++]='-';}      
    	else unum=(unsigned)num; /* 其他情况 */    
    	/* 逆序 */    
    	do {
    		str[i++]=index[unum%(unsigned)radix];
    		unum/=radix; 
    	}while(unum);  
    	str[i]='\0'; 
    	/* 转换 */  
    	if(str[0]=='-') k=1; /* 十进制负数 */ 
    	else k=0;
    	/* 将原来的“/2”改为“/2.0”,保证当num在16~255之间,radix等于16时,也能得到正确结果 */ 
    	char temp;  
    	for(j=k;j<=(i-k-1)/2.0;j++) 
    	{
    		temp=str[j];
    		str[j]=str[i-j-1];
    		str[i-j-1]=temp;
    	}
    	return str; 
    } 
    
    int main()
    {
    	char s1[50],s2[50];
    	int n;
    	while(cin>>s1>>s2)
    	{
    		cout<<strcat(s1,s2)<<endl;
    		cout<<strcmp(s1,s2)<<endl;
    		cout<<mystrlen(s1)<<' '<<mystrlen(s2)<<endl;
    		cin>>n;
    		cout<<itoa(n,s1,16)<<' '<<itoa(n,s2,8)<<endl;
    	}
    	return 0;
    }
    
    
  • 相关阅读:
    实现 (5).add(3).minus(2) 功能
    vue兄弟组件传值的三种方法
    Web渗透测试思路整理
    PHP代码审计基础
    简单易用,用Powershell劫持Windows系统快捷键
    javascript脚本混淆
    秒杀系统架构优化思路
    什么是OOP
    一分钟了解负载均衡的一切
    MVC
  • 原文地址:https://www.cnblogs.com/tgkx1054/p/2789829.html
Copyright © 2011-2022 走看看