1. 程式人生 > >字符串相關函數整理

字符串相關函數整理

意思 tin 功能 string.h 安全 str1 匹配 string iat

string.h 中字符串相關函數
按功能分類:

字符串連接:
strcat : char* strcat(char* destination, const char* source);

strncat : char* strcat(char* destination, const char* source, size_t num);

cat 意思是catenate。連接的意思。

strncp 是strcat的安全版本號。能夠防止越界。

從定義上能夠看出帶是將const的字符串連接到不帶const的字符串上。

字符/字符串查找:
strchr : char* strchr(const char* str, int character); char* strchr(char* str, int character);

查找字符character在str中第一次出現的位置。返回一個指針指向該字符到字符串結尾。



因為‘\0‘也是字符串的一部分,故該函數也能夠查找結束符。

chr意思應該是character。

strrchr : char* strchr(const char* str, int character); char* strchr(char* str, int character);

最後一次出現的位置。

‘r‘應該是right的意思。也就是從右開始搜索。

strpbrk : const char* strpbrk(const char* str1,const char* str2); char* strpbrk(char* str1,const char* str2);

查找str2中隨意字符在str1中第一次出現的位置,返回從整個位置到str1最後的字符串。

不包括結束符。

strcspn : size_t strcspn(const char* str1, const char* str2);

返回的是str1第一次出現str2中隨意字符的位置。搜索包括null結束符,所以函數能夠返回str1字符串的長度當沒有不論什麽匹配的時候。



strstr : const char* strstr(const char* str1, const char* str2); char* strstr(char* str1, const char* str2);

匹配完整字符串

字符串比較:
strcmp: int strcmp(const char* str1, const char* str2);

strncmp: int strcmp(const char* str1, const char* str2, size_t num);

strcoll: int strcoll(const char* str1, const char* str2);

依據LC_COLIATE比較str1和str2。

字符串拷貝:
strcpy : char* strcpy(char* destination, const char* source);

strncpy : char* strcpy(char* destination, const char* source, size_t num);

拷貝source到destination中去。遇到‘\0‘停止copy。

獲取字符串長度:
strlen: size_t strlen(const char* str);

拆分字符串:
strtok: char* strtok(char* str, const char* delimiters);

tok的意思是token。該函數就是將str依據delimiter拆分。

字符串相關函數整理