新聞中心
C語言 字符串函數(shù)
首先要明白,sizeof不是函數(shù),而是操作符;strlen是函數(shù)。

在蕉城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都營(yíng)銷網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,蕉城網(wǎng)站建設(shè)費(fèi)用合理。
操作符sizeof用來判斷對(duì)象、類型所占用的內(nèi)存空間的字節(jié)數(shù),strlen是計(jì)算一個(gè)字符串以字節(jié)計(jì)的長(zhǎng)度。如:sizeof(int)、sizeof(double)、sizeof(char)等是合法的,可以計(jì)算出int、double、char這些類型所占用的字節(jié)數(shù)分別是4、8、1,而用strlen則是非法的。再如:若有char
a[20]="123";,那么,strlen(a)的結(jié)果是3,而sizeof(a)的結(jié)果是20;前者是字符串“123”的長(zhǎng)度,后者是為數(shù)組a分配的內(nèi)存空間。還有:當(dāng)計(jì)算一個(gè)指向字符串的指針時(shí),sizeof得到的是指針本身的長(zhǎng)度即固定為4(32位機(jī)),而strlen得到的是指針指向的字符串的長(zhǎng)度。如:char
a[20]="1234567",*p=a;,則,sizeof(p)=4,而strlen(p)=7。似乎復(fù)雜了點(diǎn)。記住一個(gè)原則就好判斷:操作符sizeof用來計(jì)算系統(tǒng)為對(duì)象本身分配的空間(以字節(jié)計(jì)),函數(shù)strlen用來計(jì)算字符串的長(zhǎng)度(以字節(jié)計(jì))。
c語言字符串函數(shù)有哪些
復(fù)制相關(guān)函數(shù):memcpy、memmove、strcpy、strncpy
字符串連接函數(shù):strcat、strncat
字符串比較函數(shù):memcmp、strcmp、strcoll、strncmp、strxfrm、
查找函數(shù):memchr、strchr、strcspn、strpbrk、strrchr、strspn、strstr、strtok
其他相關(guān)函數(shù):memset、strerror、strlen
C語言關(guān)于字符串的操作函數(shù)有哪些
string.h頭文件中包含的字符串函數(shù)
void?*memcpy(void?*dest,?const?void?*src,?size_t?n);//將n字節(jié)長(zhǎng)的內(nèi)容從一個(gè)內(nèi)存地址復(fù)制到另一個(gè)地址;如果兩個(gè)地址存在重疊,則最終行為未定義
void?*memmove(void?*dest,?const?void?*src,?size_t?n);//將n字節(jié)長(zhǎng)的內(nèi)容從一個(gè)內(nèi)存地址復(fù)制到另一個(gè)地址;與memcpy不同的是它可以正確作用于兩個(gè)存在重疊的地址
void?*memchr(const?void?*s,?char?c,?size_t?n);//在從s開始的n個(gè)字節(jié)內(nèi)查找c第一次出現(xiàn)的地址并返回,若未找到則返回NULL
int?memcmp(const?void?*s1,?const?void?*s2,?size_t?n);//對(duì)從兩個(gè)內(nèi)存地址開始的n個(gè)字符進(jìn)行比較
void?*memset(void?*,?int,?size_t);//用某種字節(jié)內(nèi)容覆寫一段內(nèi)存空間
char?*strcat(char?*dest,?const?char?*src);//在字符串dest之后連接上src
char?*strncat(char?*dest,?const?char?*src,?size_t?n);//從src截取n個(gè)字符連接在字符串dest之后,返回dest字符串
char?*strchr(const?char*?str,?int?ch);//從字符串str頭開始查找字符ch首次出現(xiàn)的位置
char?*strrchr(const?char*?str,int?ch);//從字符串str尾開始查找字符ch首次出現(xiàn)的位置
int?strcmp(const?char?*,?const?char?*);//基于字典順序比較兩個(gè)字符串
int?strncmp(const?char?*,?const?char?*,?size_t);//基于字典順序比較兩個(gè)字符串,最多比較n個(gè)字節(jié)
int?strcoll(const?char?*,?const?char?*);//基于當(dāng)前區(qū)域設(shè)置的字符順序比較兩個(gè)字符串
char?*strcpy(char*?str1,?const?char*?str2);//將str2拷貝給str1
char?*strncpy(char*?str1,?const?char*?str2,?size_t?n);//截取str2的n個(gè)字符拷貝給str1
char?*strerror(int);//返回錯(cuò)誤碼對(duì)應(yīng)的解釋字符串,參見errno.h(非線程安全函數(shù))
size_t?strlen(const?char?*);//返回一個(gè)字符串的長(zhǎng)度
size_t?strspn(const?char?*s,?const?char?*strCharSet);//從字符串s的起始處開始,尋找第一個(gè)不出現(xiàn)在strCharSet中的字符,返回其位置索引值。換句話說,返回從字符串s的起始位置的完全由strCharSet中的字符構(gòu)成的子串的最大長(zhǎng)度。strspn為string?span的縮寫。不支持多字節(jié)字符集。
size_t?strcspn(const?char?*s,?const?char?*strCharSet);//從字符串s的起始處開始,尋找第一個(gè)出現(xiàn)在strCharSet中的字符,返回其位置索引值。換句話說,返回從字符串s的起始位置的完全由不屬于strCharSet中的字符構(gòu)成的子串的最大長(zhǎng)度。strcspn為string?complement?span的縮寫。不支持多字節(jié)字符集。
char?*strpbrk(const?char?*s,?const?char?*strCharSet);//在字符串s中查找strCharSet中任意字符第一次出現(xiàn)的位置的指針值。strpbrk為string?pointer?break縮寫。不支持多字節(jié)字符集。
char?*strstr(const?char?*haystack,?const?char?*needle);//在字符串haystack中查找字符串needle第一次出現(xiàn)的位置,heystack的長(zhǎng)度必須長(zhǎng)于needle
char?*strtok(char?*strToken,?const?char?*strDelimit?);//將一個(gè)字符串strToken依據(jù)分界符(delimiter)分隔成一系列字符串。此函數(shù)非線程安全,且不可重入;但MSVC實(shí)現(xiàn)時(shí)使用了thread-local?static?variable因而是線程安全的單仍然是不可重入,即在單線程中不能對(duì)兩個(gè)源字符串交替調(diào)用該函數(shù)來分析token,應(yīng)當(dāng)對(duì)一個(gè)字符串分析完成后再處理別的字符串。
size_t?strxfrm(char?*dest,?const?char?*src,?size_t?n);//根據(jù)當(dāng)前l(fā)ocale轉(zhuǎn)換一個(gè)字符串為strcmp使用的內(nèi)部格式
在C語言中,字符串是用哪個(gè)函數(shù)的
字符串的函數(shù)很多,有輸入/輸出函數(shù):gets()/puts(),有拷貝函數(shù)strcpy(),字符串連接函數(shù):strcat(),字符串比較函數(shù)strcmp(),測(cè)長(zhǎng)度函數(shù):strlen(),大小寫轉(zhuǎn)換:strlwr()/strupr()等等,如果調(diào)用的話,都要在頭文件加預(yù)處理命令:
#include
“string.h”。
分享題目:c語言字符串型函數(shù)是 c語言中字符串的函數(shù)
網(wǎng)頁(yè)鏈接:http://www.dlmjj.cn/article/dohgdjj.html


咨詢
建站咨詢
