字符串函数之strlen()、strcat()和strncat()


字符串函数之strlen()、strcat()和strncat()
1.strlen()函数
size_t strlen( const char* str)
功能:计算字符串长度,不包含’\0’
返回值:返回字符串的字符数
说明:
(1)strlen() 函数计算的是字符串的实际长度,遇到第一个’\0’结束;
(2)参数指向的字符串必须以 ’ \0 ‘结束
(3)函数数返回值一定是size_t ,是无符号的
(4)如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到’\0’停止
(5)sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数
2.strcat()函数
char* strcat(char* dest,const char* src)
功能: 字符串拼接
返回值:返回dest字符串起始地址
说明:

  • 源字符串必须’\0’结束
  • 目标空间必须可修改
  • strcat() 会将参数src字符串复制到参数dest所指的字符串尾部
  • dest最后的结束字符’\0’会被覆盖掉,并在连接后的字符串的尾部再增加一个’\0’
  • dest与src所指的内存空间不能重叠,且dest要有足够的空间来容纳要复制的字符串
    3.strncat()函数
    char* strncat (char* dest,const char* src,size_t num)
    功能:将n个字符追加到字符串结尾
    返回值:返回dest字符串的起始地址
    说明:
    (1)strncat将会从字符串src的开头拷贝n个字符到dest字符串尾部
    (2)dest要有足够的空间来容纳要拷贝的字符串
    (3)如果n大于字符串src的长度,那么仅将src全部追加到dest的尾部
    (4)strncat会将dest字符串最后的’\0’覆盖掉,字符追加完成后,再追加’\0’