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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux内核字符串逆序,Linux内核中常用字符串函数实现

發布時間:2023/12/19 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核字符串逆序,Linux内核中常用字符串函数实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

//列舉了部分常用的strcpy,strcmp,strcat,strchr,strstr,strpbrk...

char?*strcpy(char?*dest,?const?char?*src)

{

char?*tmp?=?dest;

while?((*dest++?=?*src++)?!=?'\0')

/*?nothing?*/;

return?tmp;

}

char?*strncpy(char?*dest,?const?char?*src,?size_t?count)

{

char?*tmp?=?dest;

while?(count)?{

if?((*tmp?=?*src)?!=?0)

src++;

tmp++;

count--;

}

return?dest;

}

char?*strcat(char?*dest,?const?char?*src)

{

char?*tmp?=?dest;

while?(*dest)

dest++;

while?((*dest++?=?*src++)?!=?'\0')

;

return?tmp;

}

char?*strncat(char?*dest,?const?char?*src,?size_t?count)

{

char?*tmp?=?dest;

if?(count)?{

while?(*dest)

dest++;

while?((*dest++?=?*src++)?!=?0)?{

if?(--count?==?0)?{

*dest?=?'\0';

break;

}

}

}

return?tmp;

}

int?strcmp(const?char?*cs,?const?char?*ct)

{

signed?char?__res;

while?(1)?{

if?((__res?=?*cs?-?*ct++)?!=?0?||?!*cs++)

break;

}

return?__res;

}

int?strncmp(const?char?*cs,?const?char?*ct,?size_t?count)

{

signed?char?__res?=?0;

while?(count)?{

if?((__res?=?*cs?-?*ct++)?!=?0?||?!*cs++)

break;

count--;

}

return?__res;

}

char?*strchr(const?char?*s,?int?c)

{

for?(;?*s?!=?(char)c;?++s)

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

return?NULL;

return?(char?*)s;

}

char?*strrchr(const?char?*s,?int?c)

{

const?char?*p?=?s?+?strlen(s);

do?{

if?(*p?==?(char)c)

return?(char?*)p;

}?while?(--p?>=?s);

return?NULL;

}

char?*strnchr(const?char?*s,?size_t?count,?int?c)

{

for?(;?count--?&&?*s?!=?'\0';?++s)

if?(*s?==?(char)c)

return?(char?*)s;

return?NULL;

}

size_t?strlen(const?char?*s)

{

const?char?*sc;

for?(sc?=?s;?*sc?!=?'\0';?++sc)

/*?nothing?*/;

return?sc?-?s;

}

char?*strpbrk(const?char?*cs,?const?char?*ct)

{

const?char?*sc1,?*sc2;

for?(sc1?=?cs;?*sc1?!=?'\0';?++sc1)?{

for?(sc2?=?ct;?*sc2?!=?'\0';?++sc2)?{

if?(*sc1?==?*sc2)

return?(char?*)sc1;

}

}

return?NULL;

}

void?*memcpy(void?*dest,?const?void?*src,?size_t?count)

{

char?*tmp?=?dest;

const?char?*s?=?src;

while?(count--)

*tmp++?=?*s++;

return?dest;

}

int?memcmp(const?void?*cs,?const?void?*ct,?size_t?count)

{

const?unsigned?char?*su1,?*su2;

int?res?=?0;

for?(su1?=?cs,?su2?=?ct;?0?

if?((res?=?*su1?-?*su2)?!=?0)

break;

return?res;

}

char?*strstr(const?char?*s1,?const?char?*s2)

{

int?l1,?l2;

l2?=?strlen(s2);

if?(!l2)

return?(char?*)s1;

l1?=?strlen(s1);

while?(l1?>=?l2)?{

l1--;

if?(!memcmp(s1,?s2,?l2))

return?(char?*)s1;

s1++;

}

return?NULL;

}

來源:?http://blog..net/willib/article/details/38460691

總結

以上是生活随笔為你收集整理的linux内核字符串逆序,Linux内核中常用字符串函数实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。