char *strcat(char *dest, const char *src)
功能
把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。
参数:
dest – 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
src – 指向要追加的字符串,该字符串不会覆盖目标字符串。
返回值:
该函数返回一个指向最终的目标字符串 dest 的指针。
实例:
#include <stdio.h>
#include <string.h>int main ()
{char src[50], dest[50];strcpy(src, "This is source");strcpy(dest, "This is destination");strcat(dest, src);printf("最终的目标字符串: |%s|", dest);return(0);
}
输出:
最终的目标字符串: |This is destinationThis is source|
char *strncat(char *dest, const char *src, size_t n)
功能
把 src 所指向的字符串追加到 dest 所指向的字符串的结尾,直到 n 字符长度为止。
参数:
dest – 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串,包括额外的空字符。
src – 要追加的字符串。
n – 要追加的最大字符数。
返回值:
该函数返回一个指向最终的目标字符串 dest 的指针。
实例:
#include <stdio.h>
#include <string.h>int main ()
{char src[50], dest[50];strcpy(src, "This is source");strcpy(dest, "This is destination");strncat(dest, src, 15);printf("最终的目标字符串: |%s|", dest);return(0);
}
输出:
最终的目标字符串: |This is destinationThis is source|
char *strchr(const char *str, int c)
功能
在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。
参数:
str – 要被检索的 C 字符串。
c – 在 str 中要搜索的字符。
返回值:
该函数返回在字符串 str 中第一次出现字符 c 的位置,如果未找到该字符则返回 NULL。
实例:
#include <stdio.h>
#include <string.h>int main ()
{const char str[] = "http://www.runoob.com";const char ch = '.';char *ret;ret = strchr(str, ch);printf("|%c| 之后的字符串是 - |%s|\n", ch, ret);return(0);
}
输出:
|.| 之后的字符串是 - |.runoob.com|
int strcmp(const char *str1, const char *str2)
功能
把 str1 所指向的字符串和 str2 所指向的字符串进行比较。
参数:
str1 – 要进行比较的第一个字符串。
str2 – 要进行比较的第二个字符串。
返回值:
如果返回值小于 0,则表示 str1 小于 str2。
如果返回值大于 0,则表示 str1 大于 str2。
如果返回值等于 0,则表示 str1 等于 str2。
实例:
#include <stdio.h>
#include <string.h>int main ()
{char str1[15];char str2[15];int ret;strcpy(str1, "abcdef");strcpy(str2, "ABCDEF");ret = strcmp(str1, str2);if(ret < 0){printf("str1 小于 str2");}else if(ret > 0) {printf("str1 大于 str2");}else {printf("str1 等于 str2");}return(0);
}
输出:
str1 大于 str2、
int strncmp(const char *str1, const char *str2, size_t n)
功能
把 str1 和 str2 进行比较,最多比较前 n 个字节。
参数:
str1 – 要进行比较的第一个字符串。
str2 – 要进行比较的第二个字符串。
n – 要比较的最大字符数。
返回值:
如果返回值小于 0,则表示 str1 小于 str2。
如果返回值大于 0,则表示 str1 大于 str2。
如果返回值等于 0,则表示 str1 等于 str2。
实例:
#include <stdio.h>
#include <string.h>int main ()
{char str1[15];char str2[15];int ret;strcpy(str1, "abcdef");strcpy(str2, "ABCDEF");ret = strncmp(str1, str2, 4);if(ret < 0){printf("str1 小于 str2");}else if(ret > 0) {printf("str2 小于 str1");}else {printf("str1 等于 str2");}return(0);
}
输出:
str2 小于 str1
char *strcpy(char *dest, const char *src)
功能
把 src 所指向的字符串复制到 dest。需要注意的是如果目标数组 dest 不够大,而源字符串的长度又太长,可能会造成缓冲溢出的情况。
参数:
dest – 指向用于存储复制内容的目标数组。
src – 要复制的字符串。
返回值:
该函数返回一个指向最终的目标字符串 dest 的指针。
实例:
#include <stdio.h>
#include <string.h>int main ()
{char str1[]="Sample string";char str2[40];char str3[40];strcpy (str2,str1);strcpy (str3,"copy successful");printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);return 0;
}
输出:
str1: Sample string
str2: Sample string
str3: copy successful
char *strncpy(char *dest, const char *src, size_t n)
功能
把 src 所指向的字符串复制到 dest,最多复制 n 个字符。当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充。
参数:
dest – 指向用于存储复制内容的目标数组。
src – 要复制的字符串。
n – 要从源中复制的字符数。
返回值:
该函数返回一个指向最终的目标字符串 dest 的指针。
实例:
#include <stdio.h>
#include <string.h>int main()
{char src[40];char dest[12];memset(dest, '\0', sizeof(dest));strcpy(src, "This is runoob.com");strncpy(dest, src, 10);printf("最终的目标字符串: %s\n", dest);return(0);
}
输出:
最终的目标字符串: This is ru
size_t strlen(const char *str)
功能
计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。
参数:
str – 要计算长度的字符串。
返回值:
该函数返回字符串的长度。
实例:
#include <stdio.h>
#include <string.h>int main ()
{char str[50];int len;strcpy(str, "This is runoob.com");len = strlen(str);printf("|%s| 的长度是 |%d|\n", str, len);return(0);
}
输出:
|This is runoob.com| 的长度是 |18|