C語言的字符串操作函數小結


一.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 個字符。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM