一.strcat()函數
char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的結尾。它返回一個指向字符串dest首地址的指針。它的聲明如下:
char *strcat(char *dest, const char *src)
實例如下:
#include <stdio.h> #include <string.h> int main() { char dest[50]="Who are you?", src[50]="I am Jack"; strcat(dest, src); printf("%s\n", dest); return(0); }
輸出:
Who are you?I am Jack
升級的函數 char *strncat(char *dest, const char *src, size_t n) 把 src 所指向的字符串追加到 dest 所指向的字符串的結尾,直到 n 字符長度為止。其余和strcat()函數一樣。
二.strchr()函數
char *strchr(const char *str, int c) 在參數 str 所指向的字符串中搜索第一次出現字符 c(一個無符號字符)的位置。該函數返回在字符串 str 中第一次出現字符 c 的位置,如果未找到該字符則返回 NULL。它的聲明如下:
char *strchr(const char *str, int c)
代碼示例:
#include <stdio.h> #include <string.h> int main() { char str[50]="I am Jack"; char ch = 'a'; char *addr = strchr(str, ch); printf("找到:%c\n",*addr); return(0); }
輸出:
找到:a
三.strcmp()函數
int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串進行比較。如果str1>str2則返回值>0,如果str1<str2則返回值>0,如果str1=str2則返回值=0。它的聲明如下:
int strcmp(const char *str1, const char *str2)
如下實例:
#include <stdio.h> #include <string.h> int main() { char str1[15]="abcde"; char str2[15]="ABCDE"; int ret; ret = strcmp(str1, str2); if (ret < 0) { printf("str1 小於 str2"); } else if (ret > 0) { printf("str2 小於 str1"); } else { printf("str1 等於 str2"); } return(0); }
輸出:
str2 小於 str1
其升級版為 int strncmp(const char *str1, const char *str2, size_t n) 把 str1 和 str2 進行比較,最多比較前 n 個字節。
四.strcpy()函數
char *strcpy(char *dest, const char *src) 把 src 所指向的字符串復制到 dest。其返回指向dest的指針。它的聲明如下:
char *strcpy(char *dest, const char *src)
如下示例:
#include <stdio.h> #include <string.h> int main() { char src[50] ="Hello"; char dest[100]="Who are you?"; strcpy(dest, src); printf("最終的目標字符串: %s\n", dest); return(0); }
輸出:
最終的目標字符串: Hello
其升級版為char *strncpy(char *dest, const char *src, size_t n) 把 src 所指向的字符串復制到 dest,最多復制 n 個字符。