设为首页 加入收藏

TOP

c、c++字符串相关讲解
2017-11-23 08:31:41 】 浏览:243
Tags:字符串 相关 讲解
名称:strcpy

功能:复制字符串

char* strcpy(char* dest, const char* src)
{
    if(dest == NULL || src == NULL)
    {
        return NULL;
    }
    char* tmp = dest;
    while((*tmp++ = *src++) != '\0');
    return dest;
}
名称:strncpy

功能:复制字符串

strncpy把src所指向以'\0'结尾的字符串的前n个字符复制到dest所指的数组中,返回指向dest的指针。

注意:

当n>=sizeof(src)时,拷贝正确,并在dest字符串后面加入'\0';

当n

char* strncpy(char* dest, const char* src, size_t count)
{
    if(dest == NULL || src == NULL)
    {
        return NULL;
    }
    char* tmp = dest;
    while(count--)
    {
        *dest++ = *src++;
    }
    return tmp;
}
名称:strcmp

功能:比较字符串

int strcmp(const char* s0, const char* s1)
{
    int ret = 0;
    unsigned char c1,c2;
    while(1)
    {
        c1 = *s0++;
        c2 = *s1++;
        if(c1 != c2)
        {
            return c1 > c2 ? 1 : -1;
        }
        if(!c1)
        {
            break;
        }
    }
    return ret;
}
名称:strncmp

功能:比较字符串

int strncmp(const char* s0, const char* s1, size_t count)
{
    int ret = 0;
    unsigned char c1,c2;
    while(count)
    {
        c1 = *s0++;
        c2 = *s1++;
        if(c1 != c2)
        {
            return c1 > c2 ? 1 : -1;
        }
        if(!c1)
        {
            break;
        }
        count--;
    }
    return ret;
}
名称:reserve

功能:字符串反转

void reserve(char* word)
{
    if(word != NULL)
    {
        char* start = word;
        char* end = word;
        while(*end++);
        end -= 1;
        while(start < end)
        {
            char s = *start;
            *start = *end;
            *end = s;
            start++;
            end--;
        }
    }
}
名称:reserveWords

功能:字符串反转

I love you -----> you love i

void reserveWords()
{
    char words[] = "I love You";
    reserve(words);
    
    char* start = words;
    char* end = words;
    while(*end != '\0')
    {
        if(*end == '\0' || *end == ' ')
        {
            char tmp[20];
            memcpy(tmp, start, end - start);
            reserve(tmp);
            start = end;
        }
        else if(*end == ' ')
        {
            start++;
            end++;
        }
        else
        {
            end++;
        }
    }
}
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇c++文件流基本用法fstream及ifstr.. 下一篇C++中的bind函数讲解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目