#include

Linux內核不能使用用戶空間的函數,不過內核裏仍是有不少同名字符串處理函數可用,基本沒有障礙。linux

  #include <linux/string.h>便可正則表達式

  固然,有的函數仍是體系結構優化的,例若有的powerpc處理器含有正則表達式硬件加速器。對於優化處理的函數,必須定義相應的__ HAVE_ARCH_OPERATION宏函數

  不然,都是用lib/string.c 中實現的體系結構無關的標準操做。優化

  strcmp、strncmp,這個不用解釋spa

  strnicmp,同strncmp,不檢查大小寫指針

  strcpy、strncpy這些也不用解釋,內存

  strlcpy,相似於strncpy,可是若是源字符串大於size,那麼能保證目標字符串仍然是0結尾字符串。字符串

  char * strcat(char *, const char *);rpc

  將src字符串附加到dest字符串,strncat同理。get

  size_t strlcat(char *, const char *, __kernel_size_t);

  同strncat相似,但結果字符串長度不超過size。

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

  在字符串s中查找c出現的第一個位置

  char * strrchr(const char *,int);

  同上,不過是查找出現的最後的位置

  extern __kernel_size_t strlen(const char *);

  統計一個0結尾字符串長度

  extern __kernel_size_t strnlen(const char *,__kernel_size_t);

  同上,可是統計長度不超過size

  __kernel_size_t strspn(const char * s,const char * accept);

  在s中統計徹底由accept中字符組成的字符串長度

  __kernel_size_t strcspn(const char *,const char *reject);

  相似strspn,但統計的是徹底不禁reject中字符組成的字符串長度

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

  在s1中查找字串s2

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

  查找字符串ct中的字符在字符串cs中出現的第一個位置

  char * strsep(char **,const char *);

  將字符串劃分紅由ct分割的標記。

  還有一些操做適合於普通的內存區,而非字符串

  memset很少說,memset_io可用於IO區

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

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

  這兩個功能相同,不過指針類型memcpy是void而已

  memcpy_fromio同上,不過能夠從io區拷貝

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

  同memcpy,不過能夠用於重疊的源和目標區域

相關文章
相關標籤/搜索