最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C風(fēng)格字符串

2023-07-08 18:05 作者:清光照歸途  | 我要投稿


關(guān)于C風(fēng)格字符串的問題

?C++有string為什么還要學(xué)習(xí)C風(fēng)格字符串?

  1. 某些場景使用C風(fēng)格字符串更方便、更高效

  2. C標(biāo)準(zhǔn)庫、Linux庫 、開源庫和數(shù)據(jù)庫的接口函數(shù),一定有C語言但不一定有C++(MySQL的接口函數(shù)只有C而沒有C++)

  3. String是類,封裝了C風(fēng)格字符串(學(xué)習(xí)C風(fēng)格字符串能幫助理解String類)

??C中字符數(shù)組與字符串的區(qū)別

C中字符串的末尾會(huì)有/0,而字符數(shù)組沒有


C風(fēng)格字符串的使用

字符串的初始化


清空字符串

使用memset()函數(shù)清空字符串

語法:memset(字符數(shù)組的首地址即數(shù)組名,0,數(shù)組內(nèi)存的空間大小)


字符串復(fù)制或賦值

?C語言字符串不能用" = "賦值

strcpy()函數(shù)

語法:strcpy(目標(biāo)字符串,源字符串)

返回值:返回目標(biāo)字符串的首地址

?復(fù)制完字符串后,會(huì)自動(dòng)在目標(biāo)字符串后面追加' /0 '

如果目標(biāo)字符串所指向的內(nèi)存不夠大,則會(huì)導(dǎo)致數(shù)組越界


strncpy()函數(shù)

語法:strncpy(目標(biāo)字符串,源字符串,n個(gè)字符)

返回值:返回目標(biāo)字符串的首地址

?如果源字符串小于n,則拷貝完后會(huì)在目標(biāo)字符串后追加' /0 '

如果源字符串大于或等于n,則截取前n個(gè)字符,且不會(huì)再目標(biāo)字符串后追加' /0 '

如果目標(biāo)字符串所指向的內(nèi)存不夠大,則會(huì)導(dǎo)致數(shù)組越界


?

字符串長度

語法:strlen(字符串的首地址即字符串名)


?

字符串拼接

strcat()函數(shù)

語法:strcat(目標(biāo)字符串,源字符串) ==目標(biāo)字符串原有的'/0'會(huì)被覆蓋掉==


strncat()函數(shù)

語法:strcat(目標(biāo)字符串,源字符串,n個(gè)字符) ==目標(biāo)字符串原有的'/0'會(huì)被覆蓋掉==


?

字符串比較

目標(biāo)字符串與源字符串(或源字符串前n個(gè)字符)比較返回值>1(ASCII碼的差)=0<-1(ASCII碼的差)

strcmp()函數(shù)

語法:strcmp(目標(biāo)字符串,源字符串)


strncmp()函數(shù)

語法:strcmp(目標(biāo)字符串,源字符串,前n個(gè)字符)



?

字符查找

strchr(字符串,要查找的字符) 【是從一個(gè)字符串str中第一次出現(xiàn)該字符character的位置】

strrchr(字符串,要查找的字符)【是從一個(gè)字符串str中最后一次出現(xiàn)該字符character的位置】

返回值:如果在字符串 str 中找到字符 c,則函數(shù)返回指向該字符的指針,存在和首地址相減,可以得到下標(biāo)。如果未找到該字符則返回 NULL。

?

字符串查找

語法:strstr(字符串,子串)

返回值:返回子串在字符串中第一次出現(xiàn)的地址,沒有返回0

?C風(fēng)格字符串的注意事項(xiàng)

1?字符串的結(jié)尾標(biāo)志為'/0',在處理時(shí)會(huì)從起始位置開始搜索直到搜索到'/0'為止

不會(huì)判斷數(shù)組越界的原因:

操作字符串的函數(shù)形參為指針,只存放了字符串的起始地址,沒有字符串的長度參數(shù),無法判斷是否越界

2?結(jié)尾標(biāo)識(shí)符'/0'后面都是垃圾值

3?字符串在每次使用前都要初始化

4?不要再子函數(shù)里面使用sizeof運(yùn)算符(因?yàn)樽雍瘮?shù)中的參數(shù)為指針,總是占8字節(jié)(64位操作系統(tǒng)))

5?在VS中使用C風(fēng)格字符串是應(yīng)加上#define _CRT_SECURE_NO_WARNINGS

?


C風(fēng)格字符串的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
禹州市| 临澧县| 海城市| 大荔县| 锡林郭勒盟| 天镇县| 大冶市| 清徐县| 扶风县| 江门市| 黄平县| 庄河市| 盘锦市| 什邡市| 丰原市| 六安市| 长汀县| 宜良县| 刚察县| 行唐县| 洪泽县| 湖南省| 广汉市| 泰和县| 祁阳县| 来宾市| 佛山市| 宜阳县| 铅山县| 邹平县| 建阳市| 宣城市| 湖口县| 苏州市| 大安市| 天津市| 新源县| 岗巴县| 赤水市| 邓州市| 城固县|