C语言string.h常用函数总结
void *memcpy(void *dest, const void *src, size_t n);
從源src所指的內(nèi)存地址的起始位置開始拷貝n個(gè)字節(jié)到目標(biāo)dest所指的內(nèi)存地址的起始位置中.
void *memmove( void* dest, const void* src,size_t count);
由src所指內(nèi)存區(qū)域復(fù)制count個(gè)字節(jié)到dest所指內(nèi)存區(qū)域。
memmove用于從src拷貝count個(gè)字符到dest,如果目標(biāo)區(qū)域和源區(qū)域有重疊的話,memmove能夠保證源串在被覆蓋之前將重疊區(qū)域的字節(jié)拷貝到目標(biāo)區(qū)域中。但復(fù)制后src內(nèi)容會(huì)被更改。但是當(dāng)目標(biāo)區(qū)域與源區(qū)域沒有重疊則和memcpy函數(shù)功能相同。
void *memset(void *s, int ch, size_t n);
將s中前n個(gè)字節(jié)(typedef unsigned int size_t)用ch替換并返回s。
memset作用是在一段內(nèi)存塊中填充某個(gè)給定的值,它是對較大的結(jié)構(gòu)體或數(shù)組進(jìn)行清零操作的一種最快方法.
int?memcmp(const void *buf1, const void *buf2, unsigned int count);
比較內(nèi)存區(qū)域buf1和buf2的前count個(gè)字節(jié)。
當(dāng)buf1<buf2時(shí),返回值<0
當(dāng)buf1=buf2時(shí),返回值=0
當(dāng)buf1>buf2時(shí),返回值>0
extern char *strcpy(char* dest, const char *src);
把從src地址開始且含有NULL結(jié)束符的字符串復(fù)制到以dest開始的地址空間.src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。返回指向dest的指針。
char *?strncpy(char *dest, char *src,size_t num);
復(fù)制src中的內(nèi)容(字符,數(shù)字、漢字....)到dest,復(fù)制多少由num的值決定,返回指向dest的指針。如果遇到null字符('\0'),且還沒有到num個(gè)字符時(shí),就用(num - n)(n是遇到null字符前已經(jīng)有的非null字符個(gè)數(shù))個(gè)null字符附加到destination。
extern char *strcat(char *dest,char *src);
把src所指字符串添加到dest結(jié)尾處(覆蓋dest結(jié)尾處的'\0')并添加'\0'。src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。返回指向dest的指針。
extern char *strncat(char *dest,char *src,int n);
把src所指字符串的前n個(gè)字符添加到dest結(jié)尾處(覆蓋dest結(jié)尾處的'\0')并添加'\0'。src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。返回指向dest的指針。
extern int?strcmp(const char *s1,const char * s2);
比較字符串s1和s2。
當(dāng)s1<s2時(shí),返回值<0
當(dāng)s1==s2時(shí),返回值=0
當(dāng)s1>s2時(shí),返回值>0
即:兩個(gè)字符串自左向右逐個(gè)字符相比(按ASCII值大小相比較),直到出現(xiàn)不同的字符或遇'\0'為止。
int?strncmp(char *str1, char *str2, int maxlen);
此函數(shù)功能即比較字符串str1和str2的前maxlen個(gè)字符。
如果前maxlen字節(jié)完全相等,返回值就=0;
在前maxlen字節(jié)比較過程中,如果出現(xiàn)str1[n]與str2[n]不等,則返回(str1[n]-str2[n])。
int?strcasecmp?(const char *s1, const char *s2);
strcasecmp()用來比較參數(shù)s1和s2字符串,比較時(shí)會(huì)自動(dòng)忽略大小寫的差異。
若參數(shù)s1和s2字符串相等則返回0。
s1大于s2則返回大于0 的值。
s1 小于s2 則返回小于0的值。
int?strncasecmp(const char *s1, const char *s2, size_t n)
strncasecmp()用來比較參數(shù)s1和s2字符串前n個(gè)字符,比較時(shí)會(huì)自動(dòng)忽略大小寫的差異,
若參數(shù)s1和s2字符串相同則返回0?
s1若大于s2則返回大于0的值
s1若小于s2則返回小于0的值.
?
extern char *strchr(const char *s,char c);
查找字符串s中首次出現(xiàn)字符c的位置,返回首次出現(xiàn)c的位置的指針,如果s中不存在c則返回NULL。
extern unsigned int?strlen(char *s);
計(jì)算字符串s的(unsigned int型)長度,不包括'\0'在內(nèi).返回s的長度,不包括結(jié)束符NULL。
轉(zhuǎn)載于:https://www.cnblogs.com/Ph-one/p/8474565.html
總結(jié)
以上是生活随笔為你收集整理的C语言string.h常用函数总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言第六讲,数组
- 下一篇: ASP.NET CORE RAZOR :