Linux 常用C函数说明-内存及字符串操作篇(中文版)


  strrchr(查找字符串中最后出现的指定字符)
  相关函数
  index,memchr,rindex,strpbrk,strsep,strspn,strstr,strtok
  表头文件
  #include
  定义函数
  char * strrchr(const char *s, int c);
  函数说明
  strrchr()用来找出参数s字符串中最后一个出现的参数c地址,然后将该字符出现的地址返回。
  返回值
  如果找到指定的字符则返回该字符所在地址,否则返回0。
  范例
  #include
  main()
  {
  char *s="0123456789012345678901234567890";
  char *p;
  p=strrchr(s,'5');
  printf("%s\n",p);
  }
  执行
  567890
  strspn(返回字符串中连续不含指定字符串内容的字符数)
  相关函数
  strcspn,strchr,strpbrk,strsep,strstr
  表头文件
  #include
  定义函数
  size_t strspn (const char *s,const char * accept);
  函数说明
  strspn()从参数s 字符串的开头计算连续的字符,而这些字符都完全是accept 所指字符串中的字符。简单的说,若strspn()返回的数值为n,则代表字符串s 开头连续有n 个字符都是属于字符串accept内的字符。
  返回值
  返回字符串s开头连续包含字符串accept内的字符数目。
  范例
  #include
  main()
  {
  char *str="Linux was first developed for 386/486-based PCs.";
  char *t1="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS TUVWXYZ";
  printf("%d\n",strspn(str,t1));
  }
  执行
  5 /*计算大小写字母。不包含" ",所以返回Linux的长度。*/
  strstr(在一字符串中查找指定的字符串)
  相关函数
  index,memchr,rindex,strchr,strpbrk,strsep,strspn,strtok
  表头文件
  #include
  定义函数
  char *strstr(const char *haystack,const char *needle);
  函数说明
  strstr()会从字符串haystack 中搜寻字符串needle,并将第一次出现的地址返回。
  返回值
  返回指定字符串第一次出现的地址,否则返回0。
  范例
  #include
  main()
  {
  char * s="012345678901234567890123456789";
  char *p;
  p= strstr(s,"901");
  printf("%s\n",p);
  }
  执行
  9.01E+21
  strtok(分割字符串)
  相关函数
  index,memchr,rindex,strpbrk,strsep,strspn,strstr
  表头文件
  #include
  定义函数
  char * strtok(char *s,const char *delim);
  函数说明
  strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回下一个分割后的字符串指针。
  返回值
  返回下一个分割后的字符串指针,如果已无从分割则返回NULL。
  范例
  #include
  main()
  {
  char s[]="ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";
  char *delim="-: ";
  char *p;
  printf("%s ";strtok(s,delim));
  while((p=strtok(NULL,delim)))printf("%s ",p);
  printf("\n");
  }
  执行
  ab cd ef;gh i jkl;mnop;qrs tu vwx y;z /*-与:字符已经被\0 字符取代*/

你可能感兴趣的:(linux)