Linux字符串函数集

//Linux字符串函数集:

头文件:string.h

  •   函数名: strstr
  •   函数原型:extern char *strstr(char *str1, char *str2);
  •   功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
  •   返回值:返回该位置的指针,如找不到,返回空指针。
包含文件:string.h
  函数名: strstr
  函数原型:extern char *strstr(char *str1, char *str2);
  功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
  返回值:返回该位置的指针,如找不到,返回空指针。
  1. 原型:extern char *strchr(const char *s,char c);
  2.   const char *strchr(const char* _Str,int _Val)
  3.   char *strchr(char* _Str,int _Ch)
  4.   头文件:#include <string.h>
  5.   功能:查找字符串s中首次出现字符c的位置
  6.   说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。
  7.   返回值:Returns the address of the first occurrence of the character in the string if successful, or NULL otherwise
原型:extern char *strchr(const char *s,char c);
  const char *strchr(const char* _Str,int _Val)
  char *strchr(char* _Str,int _Ch)
  头文件:#include <string.h>
  功能:查找字符串s中首次出现字符c的位置
  说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。
  返回值:Returns the address of the first occurrence of the character in the string if successful, or NULL otherwise
  1. C语言函数strrchr
  2. 函数简介
  3.   函数名称: strrchr
  4.   函数原型:char *strrchr(char *str, char c);
  5.   所属库: string.h
  6.   函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。
C语言函数strrchr

函数简介
  函数名称: strrchr
  函数原型:char *strrchr(char *str, char c);
  所属库: string.h
  函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。
  1. strcmp
  2. 函数简介
  3.   原型:extern int strcmp(const char *s1,const char * s2);
  4.   用法:#include <string.h>
  5.   功能:比较字符串s1和s2。
  6.   一般形式:strcmp(字符串1,字符串2)
  7.   说明:
  8.   当s1<s2时,返回值<0
  9.   当s1=s2时,返回值=0
  10.   当s1>s2时,返回值>0
  11.   即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇‘\0‘为止。如:
  12.   "A"<"B" "a">"A" "computer">"compare"
  13.   特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
strcmp
函数简介

  原型:extern int strcmp(const char *s1,const char * s2);
  用法:#include <string.h>
  功能:比较字符串s1和s2。
  一般形式:strcmp(字符串1,字符串2)
  说明:
  当s1<s2时,返回值<0
  当s1=s2时,返回值=0
  当s1>s2时,返回值>0
  即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇‘\0‘为止。如:
  "A"<"B" "a">"A" "computer">"compare"
  特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
  1. strncmp
  2.   函数名: strncmp
  3.   功 能: 串比较
  4.   用 法: int strncmp(char *str1, char *str2, int maxlen);
  5.   说明:此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。
strncmp

  函数名: strncmp
  功 能: 串比较
  用 法: int strncmp(char *str1, char *str2, int maxlen);
  说明:此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。
  1. strlwr
  2.   原型:extern char *strlwr(char *s);
  3.   用法:#include <string.h>
  4.   功能:将字符串s转换为小写形式
  5.   说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。
  6.   注意事项:在Linux的编译器中,有可能会编译不通过。
strlwr

  原型:extern char *strlwr(char *s);
  用法:#include <string.h>
  功能:将字符串s转换为小写形式
  说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。
  注意事项:在Linux的编译器中,有可能会编译不通过。
  1. strcat
  2. C函数
  3. 原型
  4.   extern char *strcat(char *dest,char *src);
  5. 用法
  6.   #include <string.h>
  7.   在C++中,则存在于<cstring>头文件中。
  8. 功能
  9.   把src所指字符串添加到dest结尾处(覆盖dest结尾处的‘\0‘)并添加‘\0‘。
  10. 说明
  11.   src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
  12.   返回指向dest的指针。
strcat
C函数

原型
  extern char *strcat(char *dest,char *src);
用法
  #include <string.h>
  在C++中,则存在于<cstring>头文件中。
功能
  把src所指字符串添加到dest结尾处(覆盖dest结尾处的‘\0‘)并添加‘\0‘。
说明
  src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
  返回指向dest的指针。
  1. 函数名:   strncpy
  2. 功     能:   串拷贝
  3. 用     法:   char   *strncpy(char   *destin,   char   *source,   int   maxlen);
  4. memcpy
  5. 功     能:   从源source中拷贝n个字节到目标destin中
  6. 一个考字符串,一个拷贝内存内容
  7. strncpy
  8. 原型:extern   char   *strncpy(char   *dest,   char   *src,   int   n);
  9. 用法:#include   <string.h>
  10. 功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。
  11. 说明:
  12. 如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。
  13. 如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。
  14. src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
  15. 返回指向dest的指针。
  16. 举例:
  17. //   strncpy.c
  18. #include   <syslib.h>
  19. #include   <string.h>
  20. main()
  21. {
  22. char   *s= "Golden   Global   View ";
  23. char   *d= "Hello,   GGV   Programmers ";
  24. char   *p=strdup(s);
  25. clrscr();
  26. textmode(0x00);     //   enable   6   lines   mode
  27. strncpy(d,s,strlen(s));
  28. printf( "%s\n ",d);
  29. strncpy(p,s,strlen(d));
  30. printf( "%s ",p);
  31. getchar();
  32. return   0;
  33. }
  34. ------------------------------
函数名:   strncpy
功     能:   串拷贝
用     法:   char   *strncpy(char   *destin,   char   *source,   int   maxlen);
memcpy
功     能:   从源source中拷贝n个字节到目标destin中
一个考字符串,一个拷贝内存内容

strncpy
    原型:extern   char   *strncpy(char   *dest,   char   *src,   int   n); 

    用法:#include   <string.h> 

    功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。 

    说明:
                如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。
                如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。
                src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
                返回指向dest的指针。 

    举例:
            //   strncpy.c 

            #include   <syslib.h>
            #include   <string.h>
            main()
            {
                char   *s= "Golden   Global   View ";
                char   *d= "Hello,   GGV   Programmers ";
                char   *p=strdup(s); 

                clrscr();
                textmode(0x00);     //   enable   6   lines   mode 

                strncpy(d,s,strlen(s));
                printf( "%s\n ",d); 

                strncpy(p,s,strlen(d));
                printf( "%s ",p); 

                getchar();
                return   0;
            }
------------------------------ 
  1. memcpy
  2. 原型:extern   void   *memcpy(void   *dest,   void   *src,   unsigned   int   count);
  3. 用法:#include   <string.h>
  4. 功能:由src所指内存区域复制count个字节到dest所指内存区域。
  5. 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。
  6. 举例:
  7. //   memcpy.c
  8. #include   <syslib.h>
  9. #include   <string.h>
  10. main()
  11. {
  12. char   *s= "Golden   Global   View ";
  13. char   d[20];
  14. clrscr();
  15. memcpy(d,s,strlen(s));
  16. d[strlen(s)]=0;
  17. printf( "%s ",d);
  18. getchar();
  19. return   0;
  20. }
memcpy
    原型:extern   void   *memcpy(void   *dest,   void   *src,   unsigned   int   count);
    用法:#include   <string.h> 

    功能:由src所指内存区域复制count个字节到dest所指内存区域。 

    说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。 

    举例:
            //   memcpy.c 

            #include   <syslib.h>
            #include   <string.h>
            main()
            {
                char   *s= "Golden   Global   View ";
                char   d[20]; 

                clrscr(); 

                memcpy(d,s,strlen(s));
                d[strlen(s)]=0;
                printf( "%s ",d);
                getchar();
                return   0;
            }
  1. strcpy
  2. 原型:extern   char   *strcpy(char   *dest,char   *src);
  3. 用法:#include   <string.h>
  4. 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
  5. 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
  6. 返回指向dest的指针。
  7. 举例:
  8. //   strcpy.c
  9. #include   <syslib.h>
  10. #include   <string.h>
  11. main()
  12. {
  13. char   *s= "Golden   Global   View ";
  14. char   d[20];
  15. clrscr();
  16. strcpy(d,s);
  17. printf( "%s ",d);
  18. getchar();
  19. return   0;
  20. }
  21. -----------------------------------------------
  22. strcpy只是复制字符串,但不限制复制的数量。很容易造成缓冲溢出。
  23. strncpy要安全一些。
  24. memcpy也可以用来在内存中复制数据,由于字符串是以零结尾的,所以对于在数据中包含零的数据只能用memcpy。
  25. 性能上它们不一定有多大差别。
时间: 2024-12-23 18:30:51

Linux字符串函数集的相关文章

VB字符串函数集

1.      ASC,Chr函数 [说明]: 转换字符字符码 [格式]: P=Asc(X) 返回字符串X的第一个字符的字符码 P=Chr(X) 返回字符码等于X的字符 [范例]: (1)P=Chr(65)      ' 输出字符A,因为A的ASCII码等于65 (2)P=Asc("A")   ' 输出65 2.      Len函数 [格式]: P=Len(X) [说明]: 计算字符串X的长度,空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算一个字符.

VBA 字符串处理函数集

转自:http://blog.csdn.net/jyh_jack/article/details/2315345 mid(字符串,从第几个开始,长度)  在[字符串]中[从第几个开始]取出[长度个字符串]  例如 mid("小欣无敌",1,3) 则返回 "小欣无" instr(从第几个开始,字符串1,字符串2) 从规定的位置开始查找,返回字符串2在字符串1中的位置  例如 instr(1,"小欣无敌","小") 则返回 1,i

C语言通用双向循环链表操作函数集

说明 相比Linux内核链表宿主结构可有多个链表结构的优点,本函数集侧重封装性和易用性,而灵活性和效率有所降低.     可基于该函数集方便地构造栈或队列集.     本函数集暂未考虑并发保护. 一  概念 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序通过链表中的指针链接次序实现.链表由一系列存储结点组成,结点可在运行时动态生成.每个结点均由两部分组成,即存储数据元素的数据域和存储相邻结点地址的指针域.当进行插入或删除操作时,链表只需修改相关结点的指针域即可,因此相比线性

JS判断字符串是否为空、过滤空格、查找字符串位置等函数集

这是一个由网上收集的JS代码段,用于判断指定字符串是否为空,过滤字符串中某字符两边的空格.查找指定字符串开始的位置.使用IsFloat函数判断一 个字符串是否由数字(int or long or float)组成.IsDigital函数判断一个字符串是否由数字(int or long)组成等功能: //IsEmpty函数判断一个字符串是否为空 function IsEmpty(his) { flag = true; for(var i=0;i<his.length;i++) { if(his.c

C语言字符串操作函数集

1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p

linux下定时器的使用--timer_create等函数集

程序1:采用新线程派驻的通知方式 程序2:通知方式为信号的处理方式 #include <stdio.h>#include <time.h>#include <stdlib.h>#include <signal.h>#include <string.h>#include <unistd.h> #define CLOCKID CLOCK_REALTIME void sig_handler(int signo){ printf("

js函数集

js函数集·字符串(String) 1.声明 var myString = new String("Every good boy does fine."); var myString = "Every good boy does fine.";2.字符串连接 var myString = "Every " + "good boy " + "does fine."; var myString = "

Linux字符串截取和处理命令 cut、printf、awk、sed、sort、wc

1. cut [选项] 文件名 -f  列号 #提取第几列(分隔符默认为\t) -d  分隔符 #指定分隔符 例如:cut -f 2 a.txt #截取文件a.txt内容的第二列(列号从1开始) cut -f 2,4 a.txt #截取文件a.txt内容的第二列和第四列 cut -d  ":"  -f 1,3 /etc/passwd #截取文件passwd文件的第1列和第三列,以:分割取其中的第一列和第三列 2. printf '输出类型 输出格式'  输出内容 输出类型: %ns 输

linux字符串比较

比较 描述 比较 描述 str  = str2 检查str1与str2是否相同 str  >  str2 检查str1是否大于str2 str != str2 检查str1与str2是否不同 -n   str   检查str1的长度是否大于0 str <  str2 检查str1是否小于str2 -z   str    检查str1的长度是否为0 示例1:字符串相同 #!/bin/bash testuser=root if [ $USER = $testuser ] then echo &qu