日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言常用字符串处理函数6,【总结】C语言中常见的字符串处理函数

發(fā)布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言常用字符串处理函数6,【总结】C语言中常见的字符串处理函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

-------------------------------------------------------------------------------------------

C語言中沒有字符串類型,但是為了方便對字符串進行操作,提供了許多字符串處理函數(shù)。如:

輸入輸出字符串,字符串的拷貝,連接,比較等操作函數(shù)。值得注意的是:在使用輸入輸出,即gets、

puts函數(shù)時應該引入頭文件。在使用其他操作函數(shù)時,引入頭文件。另外,在使用連

接和拷貝字符串函數(shù)時,必須保證目標字符數(shù)組剩余空間足夠放下新字符串和字符串結(jié)束標志'\0'。

-------------------------------------------------------------------------------------------

C語言代碼如下:/*

**功能:把src中的字符串拷貝到dst中。串結(jié)束標志'\0'也一同拷貝。

**src,也可以是一個字符串常量。

*/

char*?my_strcpy(char?*dst,?const?char?*src)

{

assert(dst);

assert(src);

char?*ret?=?dst;

while?(*dst++?=?*src++)

{

;

}

return?(ret);

}

/*

**功能:把src的字符串連接到dst中字符串的后面,并刪去dst后的串標志“\0”。

**本函數(shù)返回值是dst的首地址。

*/

char*?my_strcat(char?*dst,?const?char?*src)

{

assert(dst);

assert(src);

char?*ret?=?dst;

/*

**尋找'\0',即dst的最后一位

*/

while?(*dst)

{

dst++;

}

/*執(zhí)行拷貝*/

while?(*dst++?=?*src++)

{

;

}

return?(ret);

}

/*

**功能:按照ASCII碼順序比較兩個數(shù)組中的字符串,并由函數(shù)返回值返回比較結(jié)果。

**字符串1=字符串2,返回值=0;

**字符串2〉字符串2,返回值〉0;

**字符串1〈字符串2,返回值〈0。

*/

int?my_strcmp(const?char?*dst,?const?char?*src)

{

assert(dst);

assert(src);

while?(*dst?==?*src)

{

if?(*dst?==?'\0')

{

return?(0);

}

dst++;

src++;

}

if?((*dst?-?*src)?>?0)

return?(1);

else

return?(-1);

}

/*

**功能:測字符串的實際長度(不含字符串結(jié)束標志‘\0’)并作為函數(shù)返回值。

*/

int?my_strlen(const?char?*dst)

{

assert(dst);

int?ret?=?0;

while?(*dst++)

{

ret++;

}

return?(ret);

}

/*

**功能:判斷src是否是dst的子串,如果是,則返回第一個相等字符的地址,否則返回NULL。

*/

char*?my_strstr(char?*dst,?char?*src)

{

assert(dst);

assert(src);

char?*pdst?=?dst;

char?*psrc?=?src;

char?*tmp?=?NULL;

if?(*src?==?'\0')

return?(dst);

/*

**如果第一個之后的字符不相等,

**dst跳到第一次相等的下一個字符的位置。

*/

while?((*pdst)?&&?(*psrc))

{

tmp?=?pdst;

while((*pdst?==?*psrc)?&&?(*psrc))

{

pdst++;

psrc++;

}

if?(*psrc?==?'\0')

{

return?(tmp);

}

else

{

pdst?=?tmp;

psrc?=?src;

pdst++;

}

}

return?(NULL);

}

--------------------------------------------------------------------------------------------

干貨小知識:(void *)可以接收任意類型的指針,但要想在次使用,必須進行強制類型轉(zhuǎn)換。

--------------------------------------------------------------------------------------------

總結(jié)

以上是生活随笔為你收集整理的c语言常用字符串处理函数6,【总结】C语言中常见的字符串处理函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。