C語言字符串處理函數(shù)

1?求字符串的長度



strlen函數(shù)的使用

運(yùn)行結(jié)果: strlen(str1)=38,sizeof(str1)=4

strlen(str1)=45, sizeof(str1)=100

strlen(str1)=53, sizeof(str1)=5

如果字符的個(gè)數(shù)等于字符數(shù)組的大小,那么strlen()的返回值就無法確定了,

例如 ? ? char str[6] = "abcxyz"; strlen(str)的返回值將是不確定的。因?yàn)閟tr的結(jié)尾不是0,strlen()會(huì)繼續(xù)向后檢索,

直到遇到'\0',而這些區(qū)域的內(nèi)容是不確定的。


2?strcpy_s? 字符串復(fù)制

strcpy_s(dest,strlen(str1)+1, str1);

dest?目標(biāo)字符串

strlen(str1)+1? 復(fù)制的長度

str1?復(fù)制的源字符串

strcpy不安全? vs?里面用strcpy_s?替代



strcpy_s?的用法



3. strcat? 在字符串尾拼接字符串

格式:strcat(目標(biāo)字符串?,源字符串) //?

?將源字符串連接到目標(biāo)字符串的尾部格式:

strncat(目標(biāo)字符串?,源字符串,長度n)//將源字符串前n個(gè)連接到目標(biāo)字符串的尾部

注:①被追加的目標(biāo)字符串? 需要有足夠空間?? ?

②追加中 先去掉?目標(biāo)字符串中的 \0 再進(jìn)行追加將?源字符串中的\0也追加上

③有限追加注意:有限追加也會(huì)將\0追加



4?strcmp?比較函數(shù)

?格式:strcmp(字符串 1,字符串 2)// 比較1與2??

格式:strcmp(字符串 1,字符串 2,比較長度n) // 比較1與2前n個(gè)字符串



5?strchar

在字符串中查找字符的位置 strchr函數(shù):

格式: strchar(字符串,‘字符’) // 失敗返回空的值(UNLL)

?注意 :①找漢字時(shí)格式 “ 漢字 ”,是雙引號非單引號? ? ? ? ?

? ? ? ?② 字符使用單引號引起來??


6?strstr

在字符串中查找另外字符串的位置 strstr函數(shù):? ?

格式 strstr(源字符串,“匹配字符串”)???

?注意: 匹配字符串使用雙引號引起來



7?自己寫的copy?函數(shù)

void copy(char * dest, char *source) {

int i = 0;

char *start = dest;

while (*dest!='\0')

{?

source[i] = *dest;

printf("s=%c\n", *dest);

++i;

dest= start + i;

}

printf("i=%d\n", i);

source[i] = '\0';

printf("source=%s\n",source);

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容