千家信息网

c语言的str函数怎么用

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要讲解了"c语言的str函数怎么用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"c语言的str函数怎么用"吧!strlen:用于求字符串长度
千家信息网最后更新 2025年01月19日c语言的str函数怎么用

这篇文章主要讲解了"c语言的str函数怎么用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"c语言的str函数怎么用"吧!

strlen:

用于求字符串长度,从首字符开始,到'\0'结束,'\0'不计入总长度。

函数实现:

size_t my_strlen(const char* ptr){        assert(ptr);        const char* ptx = ptr;        while (*(++ptx));        return (size_t)(ptx - ptr);}

strcmp:

用于比较两个字符串大小,注意大小并不是指字符串长度,而是从第一个字符开始比较,比较字符的大小。该函数返回的是一个int值,不同编译器,返回的值是不一样。但是正负是一致的,当第一个大于第二个,返回正值,小于则返回负值,相等返回0。

函数实现:

int my_strcmp(const char* str1,const char* str2){        assert(str1 && str2);        while((!(*str1 - *str2)) && ((*(str1++)) * (*(str2++))));        return (int)(*str1 - *str2);}

strcpy:

用于复制字符串。

函数实现:

char* my_strcpy(char* dest,const char* source){        assert(dest && source);        char* result = dest;        while (*(dest++) = *(source++));        return result;}

strcat:

用于在目标字符串末尾追加一个字符串。

函数实现:

char* my_strcat(char* a, const char* b){        assert(a && b);        char* tmp = a;        while (*(++a));        while (*(a++) = *(b++));        *a = '\0';        return tmp;}

strstr:

用于在一个字符串内寻找另一个字符串。这于KMP算法有关。

函数实现:

const char* my_strstr(const char* a, const char* b)//a为长字符串 b为短字符串{        char* cp = (char*)a;        char* s1;        char* s2;        if (!*b)                return a;        while (*cp)        {                s1 = cp;                s2 = (char*)b;                while (*s1 && *s2 && !(*s1 - *s2))                {                        s1++;                        s2++;                }                if (!*s2)                        return cp;                cp++;        }        return NULL;}

atoi:

这个函数很有意思,它会把字符串的数字串转化为int值。

函数实现:

int my_atoi(const char* str){        assert(str);        int num = 0;        int result = 0;        const char* tmp = str;        while (*str && *str != '.')        {                num++;                str++;        }        while (num--)        {                result += (*tmp - '0') * (int)pow(10, num);                tmp++;        }        return result;}

strncpystrncmpstrncat

三个函数都是限制了字符个数,功能是一样的。

函数实现:

char* my_strncpy(char* dest, const char* sou, size_t num){        assert(dest && sou);        char* tmp = dest;        while ((num--) && (*(dest++) = *(sou++)));        return tmp;}char* my_strncat(char* a, const char* b, int n) {        assert(a && b);        char* tmp = a;        while (*(++a));        while ((n--) && (*(a++) = *(b++)));        *a = '\0';        return tmp;}int my_strncmp(const char* str1, const char* str2,int n){        assert(str1 && str2);        while ((!(*str1 - *str2)) && ((*(str1++)) * (*(str2++))) && (n--));        return (int)(*str1 - *str2);}

感谢各位的阅读,以上就是"c语言的str函数怎么用"的内容了,经过本文的学习后,相信大家对c语言的str函数怎么用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0