linux中 字符串,linux内核驱动中对字符串的操作

size_t strlcat(char *dest, const char *src, size_t count)

功能:把src所指字符串的前count个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

返回:返回指向dest的指针。

注意:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。同样建议使用strlcat而不是strncat。

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

功能:比较字符串cs和ct的大小,区分大小写。

返回:返回的是字符串s1与s2能比较出大小的那个字符两者的差值。相等返回0。

注意:比较的最长长度为字符串cs的长度。

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

功能:比较字符串cs和ct前n个字符串的大小,区分大小写。

返回:返回的是字符串s1与s2能比较出大小的那个字符两者的差值。相等返回0。

注意:比较的最长长度为字符串cs的长度。

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

功能:查找字符串s中首次出现字符c的位置 。

返回:如果字符c出现在字符串s中,则返回首次出现c的位置的指针,如果没有出现,则返回NULL。

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

功能:查找字符c在字符串s中末次出现的位置。

返回:从字符串s中的最后出现出字符c位置的指针,如果没出现,返回NULL。

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

功能:查找字符c在字符串s前count个字符中首次出现的位置。

返回:从字符串s中的前count字符中出现出字符c位置的指针,如果没出现,返回NULL。

char *skip_spaces(const char *str)

功能:除去字符串str首部的空格字符。

返回:除去空格字符的字符串指针。

char *strim(char *s)

功能:除去字符串str首部与尾部的空格字符。

返回:除去空格字符的字符串指针。

size_t strlen(const char *s)

功能:计算字符串s的长度,不包括'\0'在内。

返回:返回s的长度,不包括结束符NULL。

size_t strnlen(const char *s, size_t count)

功能:计算字符串s的长度,这个长度最大计数为count,不包括'\0'在内。

返回:返回s的长度,不包括结束符NULL。

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

功能:在字符串cs中寻找字符串ct中任何一个字符相匹配的第一个字符的位置,空字符NULL不包括在内。

返回:返回字符串cs中指向第一个位置字符串指针。

char *strsep(char **s, const char *ct)

功能:以字符串ct分解字符串s指向字符串指针所指向的字符串。

返回:返回s指向的字符串按ct分解的前面字符串(不包含ct),s指向了按ct分解的后面字符串(不包含ct)。

bool sysfs_streq(const char *s1, const char *s2)

功用:判断字符串s1与字符串s2是否相等。

返回:如果相等,返回真;否则返回假。

注意:本函数更多用于linux 通过sysfs输入的字符串,当使用echo命令时,如:echo 1024 >

/sys/module/e1000/parameters/copybreak,echo命令通常会在尾部附加一个’\n’字符。举例,s1 =

“abdc\n”,s2 = “abdc”,则判定s1与s2是相等的。而s1 = “abdc\nd”,s2 = “abdc”,则s1 != s2。

void *memset(void *s, int c, size_t count)

功能:将s指向的count单位(一个字节为一个单位)内存空间以字符c填充。

返回:无。

注意:memset用于常规内存。如果要对IO内存操作,则用memset_io(void *s,int c,size_t count)

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

功能:从src指向的内存的内容复制count单位(一个字节为一个单位)到dest指向的内存区域。

返回:无。

注意:两个内存区域不能重叠,如果要对IO内存使用,则用memcpy_fromio( )。

void *memmove(void *dest, const void *src, size_t count)

功能:从src指向的内存的内容复制count单位(一个字节为一个单位)到dest指向的内存区域。

返回:无。

注意:两个内存区域可以重叠,如果要对IO内存使用,则用memcpy_fromio( )。

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

功能:比较两个内存区域的前count单位(字节)。

返回:当cs < ct时,返回值<0 ;当cs = ct时,返回值=0;当cs > ct时,返回值>0。返回的具体值为两个内存区域能比较大小的内存单元的内容的差值,比较还是以char比较的。

void *memscan(void *addr, int c, size_t size)

功能:在内存区域中查找第一次出现字符c的位置,最多查找size单位。

返回:返回位置指针;如果没有出现,返回size单位后的内存指针。

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

功能:在字符串s1查找第一次出现字符串s2(包含s2除NULL的其他全部内容)的位置。

返回:返回位置指针;如果没有出现,返回NULL。

char *strnstr(const char *s1, const char *s2, size_t len)

功能:在字符串s1查找第一次出现字符串s2(包含s2除NULL的其他全部内容)的位置,最多查找len长度。

返回:返回位置指针;如果没有出现,返回NULL。

void *memchr(const void *s, int c, size_t n)

功能:在内存区域中查找第一次出现字符c的位置,最多查找size单位。

返回:返回位置指针;如果没有出现,返回NULL。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值