国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一)

這篇具有很好參考價(jià)值的文章主要介紹了C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

??前言:
這篇文章對(duì)我最近學(xué)習(xí)的有關(guān)字符串的函數(shù)做一個(gè)總結(jié)和整理,主要講解字符函數(shù)和字符串函數(shù)(strlen,strcpy和strncpy,strcat和strncat)的使用方法,使用場(chǎng)景和一些注意事項(xiàng)(附上實(shí)例)

??個(gè)人簡(jiǎn)介:努力學(xué)習(xí)ing
??個(gè)人專欄:C語(yǔ)言入門基礎(chǔ)
??CSDN主頁(yè) 愚潤(rùn)求學(xué)
??每日雞湯:生活在自己的光里,不斷吹飲內(nèi)心的火焰


一,字符分類函數(shù)

??C語(yǔ)言里提供一系列的函數(shù)專門用于字符分類,便于我們**判斷一個(gè)字符是屬于什么類型的字符**????
C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法
如islower:

int islower(int c)
islower就會(huì)判斷參數(shù)部分的c是否是小寫字母(字符→ASCII值)

1,使用實(shí)例(islower)

●這些函數(shù)的使用方法非常類似,一下對(duì)其中的islower做使用的展示????

代碼作用:用islower判斷字符后,將小寫的字母轉(zhuǎn)換為大寫,其他字符不變

#include<stdio.h>
#include<ctype.h>
int main()
{
	char str[] = "Test Islower.";
	int sz = sizeof(str) / sizeof(str[0]);
	for (int i = 0; i < sz; i++) //用for循環(huán),因?yàn)橐淮沃荒芘袛嘁粋€(gè)字符
	{
		if (islower(str[i]))  //判斷是否為小寫,小寫就加入if語(yǔ)句
		{
			str[i] = str[i] - 32;  //將小寫轉(zhuǎn)換為大寫
		}
		putchar(str[i]);  //輸出字符
	}
	return 0;
}

輸出結(jié)果????

C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法

二,字符轉(zhuǎn)換函數(shù)

下面介紹兩種可以實(shí)現(xiàn)大小寫之間互相轉(zhuǎn)化的函數(shù)????

1,int tolower(int c);大寫字母轉(zhuǎn)換為小寫字母
2,int toupper(int c);小寫字母轉(zhuǎn)換為大寫字母

在上一個(gè)用islower判斷大小寫后,我們是通過(guò)小寫字符-32的形式來(lái)轉(zhuǎn)化為大寫字符的,這次我們使用toupper函數(shù)來(lái)實(shí)現(xiàn)轉(zhuǎn)換????

#include<stdio.h>
#include<ctype.h>
int main()
{
	char str[] = "Test Islower.";
	int sz = sizeof(str) / sizeof(str[0]);
	for (int i = 0; i < sz; i++)
	{
		if (islower(str[i]))  
		{
			toupper(str[i]);  //使用toupper函數(shù)
		}
		putchar(str[i]);  
	}
	return 0;
}

輸出結(jié)果????

C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法

三,函數(shù)strlen

用來(lái)計(jì)算字符串的長(zhǎng)度

1,基本介紹

我們來(lái)看一下C語(yǔ)言官網(wǎng)對(duì)它的介紹????
C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法

●原文:C字符串的長(zhǎng)度是由終止空字符決定:C字符串的長(zhǎng)度等于字符串開(kāi)頭和終止字符之間的字符數(shù)(但不包括終止字符本身)
●通俗來(lái)講就是:字符串開(kāi)頭到\0之前字符的個(gè)數(shù)

2,使用注意事項(xiàng)

??但是這也造成了strlen的“固執(zhí)”,strlen只有遇到\0才會(huì)停止查找,否則就會(huì)一直查找

請(qǐng)看下面的代碼????

#include<stdio.h>
#include<string.h>
int main()
{
	char arr1[] = "abcde";
	char arr2[] = { 'a','b','c','d','e'};
	printf("%d\n", strlen(arr1));
	printf("%d\n", strlen(arr2));
	return 0;
}

運(yùn)行結(jié)果????

C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法
?結(jié)果不一樣就是因?yàn)?strong>strlen在arr2的未知位置才找到了\0
arr1數(shù)組中存放的是:a b c d e \0程序自動(dòng)在字符串后面補(bǔ)充了\0
arr2數(shù)組中存放的是:a b c d e 沒(méi)有\0,因此strlen會(huì)一直找\0找到才停止,輸出結(jié)果 33 其實(shí)是一個(gè)隨機(jī)值(剛好strlen在內(nèi)存里找到了\0

四,strcpy和strncpy

頭文件:<string.h>
作用:復(fù)制字符串

1,strcpy

我們先來(lái)看strcmp????
C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法

函數(shù)原型:char* strcpy(char* destination, const char* source);

●對(duì)重要的內(nèi)容解讀一下與數(shù)理:
1,原字符串必須以\0結(jié)尾,函數(shù)復(fù)制完\0以后就會(huì)停止
2,目標(biāo)空間要足夠大,要存放的下所要復(fù)制的字符串
3,目標(biāo)空間必須可修改(比如:字符數(shù)組可以修改,但是,常量字符串就是不能修改的)

實(shí)例????
C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法

但是,如果源字符里有\0,則復(fù)制完\0就會(huì)停止????
C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法

2,strncpy

和strcpy的區(qū)別就是多了一個(gè)n→num(復(fù)制的字符的個(gè)數(shù))

char* strncpy(char* destination, const char* source, size_t num);

C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法
復(fù)制num個(gè)字符從源字符串到目標(biāo)空間
●如果num>源字符串長(zhǎng)度,則復(fù)制完源字符串后,目標(biāo)后面追加0,直到num個(gè)
????
C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法
可以觀察到:
num的限制就是剛好復(fù)制num個(gè)字符,并且沒(méi)有更改目標(biāo)空間原來(lái)后面的內(nèi)容

五,strcat和strncat

頭文件:<string.h>
作用:連接字符串

1,strcat

C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法

?提煉一下:
源字符串必須以\0結(jié)尾,函數(shù)追加完\0以后就會(huì)停止
●從目標(biāo)中的終止空字符串開(kāi)始覆蓋(目標(biāo)字符串也必須以\0結(jié)尾,因?yàn)槟繕?biāo)字符串的\0就是開(kāi)始追加的位置,這個(gè)\0會(huì)被覆蓋掉)
目標(biāo)空間要足夠大(>(目標(biāo)字符串+源字符串)的大?。?br> ●目標(biāo)空間必須可以修改

實(shí)例????
C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法
可見(jiàn),源字符串中間有空字符也不會(huì)停止

2,strncat

C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法
?區(qū)別:
●從源字符串追加num個(gè)字符到目標(biāo)字符串的末尾,追加完以后再追加一個(gè)\0
●如果num>源字符串長(zhǎng)度,則只會(huì)將源字符串中\0之前的內(nèi)容追加到目標(biāo)字符串的末尾**

實(shí)例????
C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一),C語(yǔ)言入門基礎(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享,筆記,學(xué)習(xí)方法


??我的分享也就到此結(jié)束啦??
要是我的分享也能對(duì)你的學(xué)習(xí)起到幫助,那簡(jiǎn)直是太酷啦!
若有不足,還請(qǐng)大家多多指正,我們一起學(xué)習(xí)交流!
??公主,王子:點(diǎn)贊??→收藏?→關(guān)注??
感謝大家的觀看和支持!祝大家都能得償所愿,天天開(kāi)心?。?!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-756711.html

到了這里,關(guān)于C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C語(yǔ)言】字符函數(shù)和字符串函數(shù)

    【C語(yǔ)言】字符函數(shù)和字符串函數(shù)

    ? 目錄 1.求字符串長(zhǎng)度strlen 2.長(zhǎng)度不受限制的字符串函數(shù) 字符串拷貝strcpy 字符串追加strcat 字符串比較strcmp 3.長(zhǎng)度受限制的字符串函數(shù)介紹strncpy strncat ?編輯strncmp 4.字符串查找strstr 5.字符串分割strtok 6.錯(cuò)誤信息報(bào)告 strerror perror 7.字符分類函數(shù) 8.字符轉(zhuǎn)換函數(shù) ?9.內(nèi)存操作函

    2024年02月12日
    瀏覽(34)
  • C語(yǔ)言—字符函數(shù)和字符串函數(shù)

    C語(yǔ)言—字符函數(shù)和字符串函數(shù)

    C語(yǔ)言中對(duì)字符和字符串的處理很是頻繁,但是C語(yǔ)言本身是沒(méi)有字符串類型的,字符串通常放在 常量字符串中或者字符數(shù)組中。字符串常量適用于那些對(duì)它不做修改的字符串函數(shù)。 strlen函數(shù)的介紹 strlen函數(shù)用于求字符串的長(zhǎng)度 注: 字符串已經(jīng) ‘\\0’ 作為結(jié)束標(biāo)志,strlen函

    2024年02月07日
    瀏覽(21)
  • C語(yǔ)言:字符函數(shù)和字符串函數(shù)

    C語(yǔ)言:字符函數(shù)和字符串函數(shù)

    C語(yǔ)言:初識(shí)C語(yǔ)言 C語(yǔ)言:分支語(yǔ)句和循環(huán)語(yǔ)句 C語(yǔ)言:函數(shù) C語(yǔ)言:數(shù)組 C語(yǔ)言:操作符詳解 C語(yǔ)言:指針詳解 C語(yǔ)言:結(jié)構(gòu)體 C語(yǔ)言:數(shù)據(jù)的存儲(chǔ) 今天來(lái)盤一下字符函數(shù)和字符串函數(shù)。 C語(yǔ)言中對(duì)字符和字符串的處理很是頻繁,但是C語(yǔ)言本身是沒(méi)有字符串類型的,字符串通常

    2024年02月11日
    瀏覽(27)
  • C語(yǔ)言——字符函數(shù)和字符串函數(shù)

    C語(yǔ)言——字符函數(shù)和字符串函數(shù)

    assert.h 頭文件定義了宏assert(),?于在運(yùn)?時(shí)確保程序符合指定條件,如果不符合,就報(bào) 錯(cuò)終?運(yùn)?。這個(gè)宏常常被稱為 “斷?” 。 assert() 宏接受?個(gè)表達(dá)式作為參數(shù)。如果該表達(dá)式為真(返回值?零), assert() 不會(huì)產(chǎn)?任何作?,程序繼續(xù)運(yùn)?。如果該表達(dá)式為假(

    2024年04月25日
    瀏覽(21)
  • C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一)

    C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一)

    ??前言: 這篇文章對(duì)我最近學(xué)習(xí)的有關(guān) 字符串的函數(shù) 做一個(gè)總結(jié)和整理,主要講解 字符函數(shù)和字符串函數(shù)(strlen,strcpy和strncpy,strcat和strncat)的使用方法,使用場(chǎng)景和一些注意事項(xiàng) (附上實(shí)例) ??個(gè)人簡(jiǎn)介:努力學(xué)習(xí)ing ??個(gè)人專欄:C語(yǔ)言入門基礎(chǔ) ??CSDN主頁(yè) 愚潤(rùn)求

    2024年02月04日
    瀏覽(22)
  • C語(yǔ)言字符函數(shù)和字符串函數(shù)詳解

    C語(yǔ)言字符函數(shù)和字符串函數(shù)詳解

    ? ? ? ?Hello, 大家好,我是一代,今天給大家?guī)?lái)有關(guān)字符函數(shù)和字符串函數(shù)的有關(guān)知識(shí) ? ? ? ?所屬專欄:C語(yǔ)言 ? ? ? ?創(chuàng)作不易,望得到各位佬們的互三呦 在C語(yǔ)言中有一些函數(shù)是專門為字符設(shè)計(jì)的,這些函數(shù)的使用都需要包含一個(gè)頭文件ctype.h 如:(注:以下函數(shù)原型都

    2024年03月20日
    瀏覽(32)
  • 【c語(yǔ)言】字符函數(shù)與字符串函數(shù)(上)

    【c語(yǔ)言】字符函數(shù)與字符串函數(shù)(上)

    大家好呀,今天給大家分享一下字符函數(shù)和字符串函數(shù),說(shuō)起字符函數(shù)和字符串函數(shù)大家會(huì)想到哪些呢??我想到的只有求字符串長(zhǎng)度的strlen,拷貝字符串的strcpy,字符串比較相同的strcmp,今天,我要分享給大家的是我們一些其他的字符函數(shù)和字符串函數(shù),跟著小張一起去看看吧

    2024年02月13日
    瀏覽(26)
  • 【C語(yǔ)言】字符函數(shù)和字符串函數(shù)(1)

    【C語(yǔ)言】字符函數(shù)和字符串函數(shù)(1)

    #國(guó)慶發(fā)生的那些事兒# 大家好,我是蘇貝,本篇博客帶大家了解字符函數(shù)和字符串函數(shù),如果你覺(jué)得我寫的還不錯(cuò)的話,可以給我一個(gè)贊??嗎,感謝?? 求字符串長(zhǎng)度 strlen 長(zhǎng)度不受限制的字符串函數(shù) strcpy strcat strcmp 長(zhǎng)度受限制的字符串函數(shù)介紹 strncpy strncat strncmp 字符串查

    2024年02月08日
    瀏覽(24)
  • 進(jìn)階C語(yǔ)言-字符函數(shù)和字符串函數(shù)

    進(jìn)階C語(yǔ)言-字符函數(shù)和字符串函數(shù)

    ?注意事項(xiàng): 字符串以 \\\'\\0\\\' 作為結(jié)束標(biāo)志, strlen函數(shù) 返回的是在字符串中 \\\'\\0\\\' 前面出現(xiàn)的字符個(gè)數(shù)(不包括 \\\'\\0\\\' ) 參數(shù)指向的字符串必須以 \\\'\\0\\\' 結(jié)束 注意函數(shù)的返回值是 size_t ,是無(wú)符號(hào)的 ?運(yùn)行示例: ??1.1.1strlen函數(shù)的模擬實(shí)現(xiàn) ??1.計(jì)數(shù)器法 assert函數(shù) 的 作用 是斷言,

    2024年02月04日
    瀏覽(19)
  • C語(yǔ)言——字符函數(shù)和字符串函數(shù)(二)

    C語(yǔ)言——字符函數(shù)和字符串函數(shù)(二)

    ??前言: 上一篇文章C語(yǔ)言——字符函數(shù)和字符串函數(shù)(一)對(duì) 字符函數(shù)和字符串函數(shù) strlen , strcpy 和 strncpy , strcat 和 strncat 進(jìn)行了初步的講解 這篇文章主要再講解幾個(gè)我們 常用到的其他字符串函數(shù) (附上實(shí)例): 1,strcmp和strncmp 2,strstr ??個(gè)人簡(jiǎn)介:努力學(xué)習(xí)ing ??個(gè)

    2024年02月04日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包