1. 程式人生 > 實用技巧 >C語言字串處理

C語言字串處理

字串和字串陣列宣告和初始化

    char buff[1024] = {'\0'};
    char *str1;

字串和字串陣列間的轉化

    
/* 字元陣列可以直接轉字串,但字串不能直接轉字元陣列 */
char buff[1024] = "successing to read the file!"; char *str1; str1 = buff;

字串和字串陣列長度量取

size_t strlen(char const *str)
    char buff[1024] = "successing to read the file!";
    char
*str1; int len = 0; str1 = buff; len = strlen(str1);

複製字串

char *strcpy(char const *cpystr, char const *str)
    char buff[1024] = "successing to read the file!";
    char *str1,*cpystr;
    int len = 0;
    str1 = buff;
    strcpy(cpystr, str1);

連線字串

 char *strcat(char const *str1, char
const *str2)
    char buff[1024] = "successing to read the file!";
    char *str1,*p;
    char *chs = "to";
    str1 = buff;
    p = strcat(str1, chs);

    printf("str1 = %s\n", str1);
    printf("chs = %s\n", chs);
    printf("p = %s\n", p);

比較字串

char *strcmp(char const *str1, char const *str2)
    char buff[1024] = "successing to read the file!";
    char *str1,*str2;
    char *chs = "successing";
    int num = 0;
    str1 = buff;
    strcpy(str1, str2);

    num = strcmp(str1, chs);
    printf("num1 = %d\n", num);
    num = strcmp(str1, str2);
    printf("num2 = %d\n", num);
    num = strcmp(chs, str1);
    printf("num3 = %d\n", num);

在一個字串中查詢一個字元

/* 從左往右查詢,第一次出現 */
char
*strchr(char const *str, int ch)
/* 從右往左查詢,第一次出現 */
char
*strchr(char const *str, int ch)
    char buff[1024] = "successing to read the file!";
    char *str1,*lp,*rp;
    char ch = 'c';
    str1 = buff;
    lp = strchr(str1, ch);
    rp = strrchr(str1, ch);

在一個字串中查詢任意幾個個字元

在一個字串中查詢一個子字串

char *strstr(char const *str, char const *chs)

    char buff[1024] = "successing to read the file!";
    char *str1,*p;
    char *chs = "to";
    str1 = buff;
    p = strstr(str1, chs);

    printf("str1 = %s\n", str1);
    printf("p = %s\n", p);