学习笔记 – C语言中的字符串可以怎么处理?

strlen函数:求字符串的长度

size_t strlen(const char *s)

  • 头文件:#include<string.h>
  • 说明:求出s指向的字符串的长度(不包括null字符)。
  • 返回值:返回s指向的字符串的长度。
size_t strlen(const char *s)
{
    size_t len = 0;
    while(*s++)
        len++;
    return len;
}

strcpy和strncpy函数:复制字符串

char strcpy(char s1,const char *s2)

  • 头文件:#include<string.h>
  • 说明:将s2指向的字符串复制到s1指向的数组中。若s1和s2指向的内存空间重叠,则作未定义处理。
  • 返回值:返回s1的值。
char *strcpy(char *s1,const char *s2)
{
    char *tmp = s1;
    while(*s1++ = *s2++)
        ;
    return tmp;
}

char strncpy(char s1,const char *s2,size_t n);

  • 头文件:#include<string.h>
  • 说明:将s2指向的字符串复制到s1指向的数组中。若s2的长度大于等于n,则复制到第n个字符为止。否则用null字符填充剩余部分。若s1和s2指向的内存空间重叠,则作未定义处理。
  • 返回值:返回s1的值。
char *strncpy(char *s1,const char *s2,size_t n)
{
    char *tmp = s1;
    while(n){
        if(!(*s1++ = *s2++)) break;  //遇到'\0'就结束循环
        n--;
    }
    while(n--)
    *s1++ = '\0';  //用'\0'填充剩余部分
    return tmp;
}

strcat和strncat函数:连接字符串

strcmp和strncmp函数:比较字符串的大小关系

atoi、atol和atof函数:转换字符串

正文完