栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言函数篇(字符串和输入字符值)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言函数篇(字符串和输入字符值)

课上学的函数怕忘记 先放在这 内存拷贝:

void* mem_cpy(void* dest,const void* src,size_t n)
{
    assert(NULL!=dest && NULL!=src && 0==n);
    //防止src与dest内存块之间有交集
    if(dest>src)
    {
        for(int i=n-1;i>0;i==)
        {
            //以字节为单位拷贝,void指针的进步值是1,void指针不能解引所以要先转换char*在解引用
            *(char*)(dest+i) = *(char*)(src+i);
        }
    }
    else
    {
        for(int i=0;i         {
            *(char*)(dest+i) = *(char*)(src+i);
        }
    }
}

计算字符串长度:

size_t str_len(const char* str)
{
    assert(NULL != str)
    const char* tmp = str;//让tmp指向字符串的开头
    while(*tmp++);//由于tmp使用的是后加加,此时tmp指向的是‘/0’后面的位置
    return tmp-str-1;
}

字符串拷贝:

char* str_cpy(char* dest,const char* src)
{
    assert(NULL!=dest && NULL!=src);
    char* tmp = dest;//备份dest
    while(*tmp++ = *src++);
    //把字符串src中的每个字符拷贝给dest,把'/0'拷贝过去后while才会结束
    return dest;
    //返回dest方便后续链式调用
}

字符串连接:

char* str_cat(char* dest,const char* src)
{
    assert(NULL!=dest && NULL!=src);
    //备份dest
    char* tmp=dest;
    //让tmp指向dest的'/0'位置
    while(*tmp)tmp++;
    //把字符串src中的每个字符拷贝到dest的末尾,把'/0'拷贝过去口while才会结束
    while(*tmp++ = *src++);
    return dest;
}

字符串比较

int str_cmp(const char* s1,const char*s2)
{
    assert(NULL!=s1 && NULL!=s2);
    //找到s1和s2第一个不相等的字符
    while(*s1 && *s1==*s2) s1++,s2++;
    if(*s1 >*s2)
        return 1;
    if(*s1<*s2)
        return -1;
    return 0;//相等
}

键盘输入值:

typedef enum KeyValue
{
    Key0=48,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,Key9,
    KeyA=65,KeyB,KeyC,KeyD,KeyE,KeyF,KeyG,KeyH,KeyI,KeyH,KeyJ,KeyK,KeyL,KeyM,KeyN,KeyO,KeyP,KeyQ,KeyR,KeyS,KeyT,KeyU,KeyV,KeyW,KeyX,KeyY,KeyZ,
    Keya,Keyb,Keyc,Keyd,Keye,Keyf,Keyg,Keyh,Keyi,Keyj,Keyk,Keyl,Keym,Keyn,Keyo,Keyp,Keyq,Keyr,Keys,Keyt,Keyu,Keyv,Keyw,Keyx,Keyy,Keyz,
    KeyEsc = 27,
    KeySpace = 32,
    KeyUp=183,KeyDown,KeyRight,KeyLeft,
    KeyEnter=10,
    KeyBackspace=127,
    KeyTable=9,
    KeyInsert=294,
    KeyDelete=295,
    KeyHome=190,
    KeyEnd = 188,
    KeyPageUp=297,
    KeyPageDown=298,
}KeyValue

                                                                                                                                             #大师兄

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018406.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号