很高效的字元串處理函數:
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作為第一個參數。