本文目錄一覽:
C語言關於字符串的操作函數有哪些
string.h頭文件中包含的字符串函數
void *memcpy(void *dest, const void *src, size_t n);//將n位元組長的內容從一個內存地址複製到另一個地址;如果兩個地址存在重疊,則最終行為未定義
void *memmove(void *dest, const void *src, size_t n);//將n位元組長的內容從一個內存地址複製到另一個地址;與memcpy不同的是它可以正確作用於兩個存在重疊的地址
void *memchr(const void *s, char c, size_t n);//在從s開始的n個位元組內查找c第一次出現的地址並返回,若未找到則返回NULL
int memcmp(const void *s1, const void *s2, size_t n);//對從兩個內存地址開始的n個字符進行比較
void *memset(void *, int, size_t);//用某種位元組內容覆寫一段內存空間
char *strcat(char *dest, const char *src);//在字符串dest之後連接上src
char *strncat(char *dest, const char *src, size_t n);//從src截取n個字符連接在字符串dest之後,返回dest字符串
char *strchr(const char* str, int ch);//從字符串str頭開始查找字符ch首次出現的位置
char *strrchr(const char* str,int ch);//從字符串str尾開始查找字符ch首次出現的位置
int strcmp(const char *, const char *);//基於字典順序比較兩個字符串
int strncmp(const char *, const char *, size_t);//基於字典順序比較兩個字符串,最多比較n個位元組
int strcoll(const char *, const char *);//基於當前區域設置的字符順序比較兩個字符串
char *strcpy(char* str1, const char* str2);//將str2拷貝給str1
char *strncpy(char* str1, const char* str2, size_t n);//截取str2的n個字符拷貝給str1
char *strerror(int);//返回錯誤碼對應的解釋字符串,參見errno.h(非線程安全函數)
size_t strlen(const char *);//返回一個字符串的長度
size_t strspn(const char *s, const char *strCharSet);//從字符串s的起始處開始,尋找第一個不出現在strCharSet中的字符,返回其位置索引值。換句話說,返回從字符串s的起始位置的完全由strCharSet中的字符構成的子串的最大長度。strspn為string span的縮寫。不支持多位元組字符集。
size_t strcspn(const char *s, const char *strCharSet);//從字符串s的起始處開始,尋找第一個出現在strCharSet中的字符,返回其位置索引值。換句話說,返回從字符串s的起始位置的完全由不屬於strCharSet中的字符構成的子串的最大長度。strcspn為string complement span的縮寫。不支持多位元組字符集。
char *strpbrk(const char *s, const char *strCharSet);//在字符串s中查找strCharSet中任意字符第一次出現的位置的指針值。strpbrk為string pointer break縮寫。不支持多位元組字符集。
char *strstr(const char *haystack, const char *needle);//在字符串haystack中查找字符串needle第一次出現的位置,heystack的長度必須長於needle
char *strtok(char *strToken, const char *strDelimit );//將一個字符串strToken依據分界符(delimiter)分隔成一系列字符串。此函數非線程安全,且不可重入;但MSVC實現時使用了thread-local static variable因而是線程安全的單仍然是不可重入,即在單線程中不能對兩個源字符串交替調用該函數來分析token,應當對一個字符串分析完成後再處理別的字符串。
size_t strxfrm(char *dest, const char *src, size_t n);//根據當前locale轉換一個字符串為strcmp使用的內部格式
C語言中對字符串進行操作的標準庫函數有哪些
1)字符串操作
strcpy(p, p1) 複製字符串
strncpy(p, p1, n) 複製指定長度字符串
strcat(p, p1) 附加字符串
strncat(p, p1, n) 附加指定長度字符串
strlen(p) 取字符串長度
strcmp(p, p1) 比較字符串
strcasecmp忽略大小寫比較字符串
strncmp(p, p1, n) 比較指定長度字符串
strchr(p, c) 在字符串中查找指定字符
strrchr(p, c) 在字符串中反向查找
strstr(p, p1) 查找字符串
strpbrk(p, p1) 以目標字符串的所有字符作為集合,在當前字符串查找該集合的任一元素
strspn(p, p1) 以目標字符串的所有字符作為集合,在當前字符串查找不屬於該集合的任一元素的偏移
strcspn(p, p1) 以目標字符串的所有字符作為集合,在當前字符串查找屬於該集合的任一元素的偏移
* 具有指定長度的字符串處理函數在已處理的字符串之後填補零結尾符
2)字符串到數值類型的轉換
strtod(p, ppend) 從字符串 p 中轉換 double 類型數值,並將後續的字符串指針存儲到 ppend 指向的 char* 類型存儲。
strtol(p, ppend, base) 從字符串 p 中轉換 long 類型整型數值,base 顯式設置轉換的整型進制,設置為 0 以根據特定格式判斷所用進制,0x, 0X 前綴以解釋為十六進制格式整型,0 前綴以解釋為八進制格式整型
atoi(p) 字符串轉換到 int 整型
atof(p) 字符串轉換到 double 符點數
atol(p) 字符串轉換到 long 整型
3)字符檢查
isalpha() 檢查是否為字母字符
isupper() 檢查是否為大寫字母字符
islower() 檢查是否為小寫字母字符
isdigit() 檢查是否為數字
isxdigit() 檢查是否為十六進制數字表示的有效字符
isspace() 檢查是否為空格類型字符
iscntrl() 檢查是否為控制字符
ispunct() 檢查是否為標點符號
isalnum() 檢查是否為字母和數字
isprint() 檢查是否是可打印字符
isgraph() 檢查是否是圖形字符,等效於 isalnum() | ispunct()
c語言字符串函數有哪些
複製相關函數:memcpy、memmove、strcpy、strncpy
字符串連接函數:strcat、strncat
字符串比較函數:memcmp、strcmp、strcoll、strncmp、strxfrm、
查找函數:memchr、strchr、strcspn、strpbrk、strrchr、strspn、strstr、strtok
其他相關函數:memset、strerror、strlen
跪求~ c語言字符串 7個處理函數
1.字符串連接函數:strcat();
原型:char *strcat(char *str1,const char *str2);
2.字符串查詢函數:strchr();
原型:char *strchr(const char *str1,const char *str2);
3.字符串比較函數:strcmp();
原型:int strcmp(const char *str1,const char *str2);
4.字符串拷貝函數:strcpy();
原型:char *strcpy(char *str1,const char *str2);
5.求字符串長度的函數:strlen();
原型:unsigned int strlen(const char *str);
6.字符串查詢函數:strstr()
原型:char *strstr(const *str1,const char *str2);
好像就這幾種比較常用
如果對你有所幫助,請記得採納最佳答案,謝謝!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/300935.html