天天看點

c語言字元串處理函數

很高效的字元串處理函數:

void *memccpy (void *dest, const void *src, int c, size_t n);

從src所指向的對象複制n個字元到dest所指向的對象中。如果複制過程中遇到了字元c則停止複制,傳回指針指向dest中字元c的下一個位置;否則傳回NULL。

void *memcpy (void *dest, const void *src, size_t n);

從src所指向的對象複制n個字元到dest所指向的對象中。傳回指針為dest的值。

void *memchr (const void *s, int c, size_t n);

在s所指向的對象的前n個字元中搜尋字元c。如果搜尋到,傳回指針指向字元c第一次出現的位置;否則傳回NULL。

int memcmp (const void *s1, const void *s2, size_t n);

比較s1所指向的對象和s2所指向的對象的前n個字元。傳回值是s1與s2第一個不同的字元內插補點。

int memicmp (const void *s1, const void *s2, size_t n);

比較s1所指向的對象和s2所指向的對象的前n個字元,忽略大小寫。傳回值是s1與s2第一個不同的字元內插補點。

void *memmove (void *dest, const void *src, size_t n);

從src所指向的對象複制n個字元到dest所指向的對象中。傳回指針為dest的值。不會發生記憶體重疊。

void *memset (void *s, int c, size_t n);

設定s所指向的對象的前n個字元為字元c。傳回指針為s的值。

char *stpcpy (char *dest, const char *src);

複制字元串src到dest中。傳回指針為dest + len(src)的值。

char *strcpy (char *dest, const char *src);

複制字元串src到dest中。傳回指針為dest的值。

char *strcat (char *dest, const char *src);

将字元串src添加到dest尾部。傳回指針為dest的值。

char *strchr (const char *s, int c);

在字元串s中搜尋字元c。如果搜尋到,傳回指針指向字元c第一次出現的位置;否則傳回NULL。

int strcmp (const char *s1, const char *s2);

比較字元串s1和字元串s2。傳回值是s1與s2第一個不同的字元內插補點。

int stricmp (const char *s1, const char *s2);

比較字元串s1和字元串s2,忽略大小寫。傳回值是s1與s2第一個不同的字元內插補點。

size_t strcspn (const char *s1, const char *s2);

傳回值是字元串s1的完全由不包含在字元串s2中的字元組成的初始串長度。

size_t strspn (const char *s1, const char *s2);

傳回值是字元串s1的完全由包含在字元串s2中的字元組成的初始串長度。

char *strdup (const char *s);

得到一個字元串s的複制。傳回指針指向複制後的字元串的首位址。

char *strerror(int errnum);

傳回指針指向由errnum所關聯的出錯消息字元串的首位址。errnum的宏定義見errno.h。

size_t strlen (const char *s);

傳回值是字元串s的長度。不包括結束符'/0'。

char *strlwr (char *s);

将字元串s全部轉換成小寫。傳回指針為s的值。

char *strupr (char *s);

将字元串s全部轉換成大寫。傳回指針為s的值。

char *strncat (char *dest, const char *src, size_t maxlen);

将字元串src添加到dest尾部,最多添加maxlen個字元。傳回指針為dest的值。

int strncmp (const char *s1, const char *s2, size_t maxlen);

比較字元串s1和字元串s2,最多比較maxlen個字元。傳回值是s1與s2第一個不同的字元內插補點。

char *strncpy (char *dest, const char *src, size_t maxlen);

複制字元串src到dest中,最多複制maxlen個字元。傳回指針為dest的值。

int strnicmp(const char *s1, const char *s2, size_t maxlen);

比較字元串s1和字元串s2,忽略大小寫,最多比較maxlen個字元。傳回值是s1與s2第個不同的字元內插補點。

char *strnset (char *s, int ch, size_t n);

設定字元串s中的前n個字元全為字元c。傳回指針為s的值。

char *strset (char *s, int ch);

設定字元串s中的字元全為字元c。傳回指針為s的值。

char *strpbrk (const char *s1, const char *s2);

傳回指針指向字元串s1中字元串s2的任意字元第一次出現的位置;如果未出現傳回NULL。

char *strrchr (const char *s, int c);

在字元串s中搜尋字元c。如果搜尋到,傳回指針指向字元c最後一次出現的位置;否則傳回NULL。

char *strrev (char *s);

将字元串全部翻轉,傳回指針指向翻轉後的字元串。

char *strstr (const char *s1, const char *s2);

在字元串s1中搜尋字元串s2。如果搜尋到,傳回指針指向字元串s2第一次出現的位置;否則傳回NULL。

char *strtok (char *s1, const char *s2);

用字元串s2中的字元做分隔符将字元串s1分割。傳回指針指向分割後的字元串。第一次調用後需用NULLL替代s1作為第一個參數。

繼續閱讀