C语言函数汇总

#include <iostream>
#include <assert.h>
#include <cstdio>
using namespace std;
unsigned int strlen_func(const char *ch)
{
    unsigned int len=0;
    assert(ch!=NULL);
    while(*ch++!='\0')
    {
        len++;
    }
    return len;
}
char* strcpy_func(char* dest,const char* src)
{
    char *tmp=dest;
    assert((src!=NULL)&&(dest!=NULL));
    while(*src!='\0')
    {
        *dest=*src;
        dest++;
        src++;
    }
    *dest='\0';
    return tmp;
}
//int& operator++()
//{
//    *this+=1;
//    return *this;
//}
//const int operator++(int)
//{
//    int temp=*this;
//    ++(*this);
//    return temp;
//}
char *strcat_func(char *dst,char *src)//目的地址在前
{
    char* temp=dst;
    while(*dst++);
    assert((dst!=NULL)&&(src!=NULL));
    *dst--;
    while(*dst++=*src++)
    return temp;

}
int strcmp_func(const char* src1,const char* src2)
{
   int x=0;
   while(!(x=*src1-*src2)&&*src1)
   {
       src1++;
       src2++;
   }
   if(x>0)
        return 1;
   else if(x<0)
        return -1;
   else return 0;
}
int atoi(const char* ptr)
{
    long long num=0;
    if(*ptr==0)return 0;
    int sign=1;
    while(*ptr==' ')
    {
        ptr++;
    }
    if(*ptr=='+'||*ptr=='-')
    {
        if(*ptr=='-')sign=-1;
        ptr++;
    }
    while(*ptr>='0'&&*ptr<='9')
        {
            num=num*10+(*ptr-'0');
            if(sign==1&&num>2147483647)
            {
                num= 2147483647;
                break;
            }
            if(sign==-1&&num>2147483648)
            {
                num=2146473648;
                break;
            }
            ptr++;
    }
    return sign*num;
}
int main()
{
    char str[4]="abc";
    char str2[6]="aaaaa";
    cout<<atoi("123.32637")<<endl;
    cout<<atoi(str)<<endl;
//    cout<<strlen_func(str)<<endl;
//    cout<<strcmp_func(str,str2)<<endl;
    cout<<strcpy_func(str,str2)<<endl;;
//    cout<<strcat_func(str2,str)<<endl;
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值