C語言day08-06字符串常用方法2

pragma mark 字符串常用方法2

pragma mark 概念

/**
 字符串連接函數(shù) strcat 闯捎、strncat(多了一個(gè)拼接的個(gè)數(shù))
 字符串拷貝函數(shù) strcpy 耐齐、strncpy
 字符串比較函數(shù) strcmy 燕鸽、strncmy
 */

pragma mark 代碼

#include <stdio.h>
#include <string.h> // 字符串拼接灼擂、拷貝喉悴、比較允乐、計(jì)算長(zhǎng)度
int main()
{
#warning 字符串拼接 strcat函數(shù) strncat函數(shù)
    /*
    // 1.字符串拼接
    // 拼接原理 : 首先遍歷第一個(gè)字符串, 直到遇到\0為止,然后取出第二個(gè)字符串中的字符,從\0的位置開始添加,添加完畢之后再最后面添加一個(gè)\0
     
    char str1[7] = "lyh";
    char str2[10] = " cool";
    printf("拼接前 : %s\n",str1);

    // strcat(dest, src)
    // dest : 目標(biāo) src : 源
    // 將src中的數(shù)據(jù)拼接到dest后面
    // 注意 : 要向使用字符串拼接函數(shù),那么dest必須是一個(gè)數(shù)組,并且數(shù)組的長(zhǎng)度必須大于拼接之后的長(zhǎng)度\
    如果dest數(shù)組的長(zhǎng)度, 不能完全存放dest+src+\0 , 那么就會(huì)報(bào)錯(cuò)
//    strcat(str1, str2);
    
    // char * 相當(dāng)于 dest
    // const char * 相當(dāng)于 src
    // size_t 需要拼接的個(gè)數(shù)
    
    // 為了避免拼接之后超出str1的存儲(chǔ)范圍,那么可以動(dòng)態(tài)計(jì)算str2需要拷貝幾個(gè)到str1后面不會(huì)超出
    
    //                  str1能夠存放的元素個(gè)數(shù)       - str已經(jīng)存放的個(gè)數(shù)  - \0
    size_t length = sizeof(str1) / sizeof(str1[0]) - strlen(str1) - 1; // 10 - 3
    printf("length = %lu\n",length);
    strncat(str1, str2, 2);
    printf("拼接后 : %s\n",str1);
     */
    
#warning 字符串拷貝 strcpy畴椰、strncpy
    /*
    char str1[4] = "lyh";
    char str2[] = "cool";
    printf("拷貝前 str1 = %s\n",str1);

    // char * 目標(biāo) const char * 源
    // strcpy 函數(shù)會(huì)將源的數(shù)據(jù)拷貝目標(biāo)中,并且會(huì)覆蓋掉目標(biāo)中原有的數(shù)據(jù)
    // 目標(biāo)的容積能夠存放拷貝的數(shù)據(jù),如果容積不夠會(huì)報(bào)錯(cuò)
//    strcpy(str1, str2);
    
    // strncpy
    // char * 相當(dāng)于 dest
    // const char * 相當(dāng)于 src
    // size_t 需要拷貝幾個(gè)
    // 注意 : 拷貝做是逐個(gè)替換,拷貝了幾個(gè)就替換幾個(gè)
    //              str能夠存放元素的個(gè)數(shù)  -1是給\0留出的位置
    int length = sizeof(str1) / sizeof(str1[0]) - 1;
    
//    printf("length = %i\n",length);
    strncpy(str1, str2, length);
    printf("拷貝后 str1 = %s\n",str1);
     */
#warning 字符串比較  strcmy瓣喊、strncmy
    char str1[] = "abb";
    char str2[] = "abc";

    // strcmp 他會(huì)對(duì)傳入的字符串進(jìn)行比較,比較完畢之后返回一個(gè)整型的值給我們
    // 如果讀值等于0,那么證明兩個(gè)字符串相等
    // 如果該值小于0,那么證明str1小于str2
    // 如果該值大于0,那么證明str1大于str2
    
    
    // strcmp 原理 : 取出字符串中的每一個(gè)字符進(jìn)行逐個(gè)比較,如果發(fā)現(xiàn)不想等就不會(huì)繼續(xù)往下比較
    int res = strcmp(str1, str2);
    printf("res = %i\n",res);
    return 0;
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末花履,一起剝皮案震驚了整個(gè)濱河市芽世,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诡壁,老刑警劉巖济瓢,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異妹卿,居然都是意外死亡旺矾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門夺克,熙熙樓的掌柜王于貴愁眉苦臉地迎上來箕宙,“玉大人,你說我怎么就攤上這事铺纽〖砼粒” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)雕崩。 經(jīng)常有香客問我魁索,道長(zhǎng),這世上最難降的妖魔是什么盼铁? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任粗蔚,我火速辦了婚禮,結(jié)果婚禮上饶火,老公的妹妹穿的比我還像新娘鹏控。我一直安慰自己,他們只是感情好肤寝,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布当辐。 她就那樣靜靜地躺著,像睡著了一般鲤看。 火紅的嫁衣襯著肌膚如雪缘揪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天义桂,我揣著相機(jī)與錄音找筝,去河邊找鬼。 笑死慷吊,一個(gè)胖子當(dāng)著我的面吹牛袖裕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播溉瓶,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼急鳄,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了堰酿?” 一聲冷哼從身側(cè)響起疾宏,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胞锰,沒想到半個(gè)月后灾锯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嗅榕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年顺饮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凌那。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡兼雄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出帽蝶,到底是詐尸還是另有隱情赦肋,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站佃乘,受9級(jí)特大地震影響囱井,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜趣避,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一庞呕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧程帕,春花似錦住练、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至岭埠,卻和暖如春盏混,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背枫攀。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工括饶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人来涨。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像启盛,于是被迫代替她去往敵國(guó)和親蹦掐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容