zoukankan      html  css  js  c++  java
  • 五、内存及字符串操作

    1、bcmp 

    表头文件  #include<string.h>

    定义函数  int bcmp ( const void *s1,const void * s2,int n);

    函数说明  bcmp()用来比较s1 和s2 所指的内存区间前n 个字节,若参数n为0,则返回0。

    返回值      若参数s1 和s2 所指的内存内容都完全相同则返回0 值,否则返回非零值。

    附加说明  建议使用memcmp()取代。

    2、bcopy 

    表头文件  #include<string.h>

    定义函数  void bcopy ( const void *src,void *dest ,int n);

    函数说明  bcopy()与memcpy()一样都是用来拷贝src 所指的内存内容前n个字节到dest所指的地址,不过参数src与dest在传给函数时是相反的位置

    返回值     无。

    附加说明  建议使用memcpy()取代

    3、bzero

    表头文件  #include<string.h>

    定义函数  void bzero(void *s,int n);

    函数说明  bzero()会将参数s所指的内存区域前n个字节,全部设为零值。相当于调用memset((void *)s,0,size_t n);

    返回值      无

    附加说明  建议使用memset取代

    4、index

    表头文件  #include<string.h>

    定义函数  char * index( const char *s, int c);

    函数说明  index()用来找出参数s字符串中第一个出现的参数c地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。

    返回值      如果找到指定的字符则返回该字符所在地址,否则返回0。

    5、memccpy

    表头文件  #include<string.h>

    定义函数  void * memccpy(void *dest, const void * src, int c,size_t n);

    函数说明  memccpy()用来拷贝src 所指的内存内容前n 个字节到dest 所指的地址上。与memcpy()不同的是,memccpy()会在复制时检查参数c是否出现,若是则返回dest中值为c的下一个字节地址。

    返回值      若参数s1 和s2 所指的内存内容都完全相同则返回0 值,否则返回非零值。

    6、memchr

    表头文件  #include<string.h>

    定义函数  void * memchr(const void *s,int c,size_t n);

    函数说明  memchr()从头开始搜寻s所指的内存内容前n个字节,直到发现第一个值为c的字节,则返回指向该字节的指针。

    返回值      如果找到指定的字节则返回该字节的指针,否则返回0。

    7、memcmp  

    表头文件  #include<string.h>

    定义函数  int memcmp (const void *s1,const void *s2,size_t n);

    函数说明  memcmp()用来比较s1 和s2 所指的内存区间前n 个字符。字符串大小的比较是以ASCII码表上的顺序来决定,次顺序亦为字符的值。memcmp()首先将s1第一个字符值减去s2 第一个字符的值,

    若差为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如,字符串“Ac”和“ba”比较则会返回字符‘A’(65)和‘b’(98)的差值(-33)。

    返回值      若参数s1 和s2所指的内存内容都完全相同则返回0值。s1 若大于s2则返回大于0 的值。s1若小于s2则返回小于0 的值。

    8、memcpy 

    表头文件  #include<string.h>

    定义函数  void * memcpy (void * dest ,const void *src, size_t n);

    函数说明  memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束‘‘而结束。

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

    附加说明  指针src和dest所指的内存区域不可重叠。

    9、memmove

    表头文件  #include<string.h>

    定义函数  void * memmove(void *dest,const void *src,size_t n);

    函数说明  memmove()与memcpy()一样都是用来拷贝src 所指的内存内容前n个字节到dest所指的地址上。不同的是,当src和dest所指的内存区域重叠时,memmove()仍然可以正确的处理,不过执行

    效率上会比使用memcpy()略慢些。

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

    附加说明  指针src和dest所指的内存区域可以重叠。

    10、memset 

    表头文件  #include<string.h>

    定义函数  void * memset (void *s ,int c, size_t n);

    函数说明  memset()会将参数s所指的内存区域前n个字节以参数c填入,然后返回指向s的指针。在编写程序时,若需要将某一数组作初始化,memset()会相当方便。

    返回值      返回指向s的指针。

    附加说明  参数c虽声明为int,但必须是unsigned char ,所以范围在0 到255之间。

    11、rindex

    表头文件  #include<string.h>

    定义函数  char * rindex( const char *s,int c);

    函数说明   rindex()用来找出参数s 字符串中最后一个出现的参数c 地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。

    返回值      如果找到指定的字符则返回该字符所在的地址,否则返回0。

    12、strcasecmp 

    表头文件  #include<string.h>

    定义函数  int strcasecmp ( const char *s1, const char *s2);

    函数说明  strcasecmp()用来比较参数s1 和s2字符串,比较时会自动忽略大小写的差异。

    返回值      若参数s1 和s2字符串相同则返回0。s1 长度大于s2长度则返回大于0 的值,s1 长度若小于s2 长度则返回小于0 的值。

    13、strcat 

    表头文件  #include<string.h>

    定义函数  char *strcat (char *dest,const char *src);

    函数说明  strcat()会将参数src字符串拷贝到参数dest所指的字符串尾。第一个参数dest要有足够的空间来容纳要拷贝的字符串。

    返回值      返回参数dest的字符串起始地址

    14、strchr 

    表头文件  #include<string.h>

    定义函数  char * strchr (const char *s,int c);

    函数说明  strchr()用来找出参数s字符串中第一个出现的参数c地址,然后将该字符出现的地址返回。

    返回值      如果找到指定的字符则返回该字符所在地址,否则返回0。

    15、strcmp

    表头文件  #include<string.h>

    定义函数  int strcmp(const char *s1,const char *s2);

    函数说明  strcmp()用来比较参数s1 和s2 字符串。字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2第一个字符值,若差值为0 则再继续比较下个字符,

    若差值不为0则将差值返回。例如字符串“Ac”和“ba”比较则会返回字符“A”(65)和‘b’(98)的差值(-33)。

    返回值      若参数s1 和s2字符串相同则返回0。s1 若大于s2 则返回大于0的值。s1若小于s2则返回小于0 的值。

    16、strcoll

    表头文件  #include<string.h>

    定义函数  int strcoll( const char *s1, const char *s2);

    函数说明  strcoll()会依环境变量LC_COLLATE 所指定的文字排列次序来比较s1 和s2字符串。

    返回值     若参数s1 和s2字符串相同则返回0。s1 若大于s2 则返回大于0的值。s1若小于s2则返回小于0 的值。

    附加说明  若LC_COLLATE 为“POSIX”或“C”,则strcoll()与strcmp()作用完全相同。

    17、strcpy

    表头文件  #include<string.h>

    定义函数  char *strcpy(char *dest,const char *src);

    函数说明  strcpy()会将参数src字符串拷贝至参数dest所指的地址。

    返回值      返回参数dest的字符串起始地址。

    附加说明  如果参数dest所指的内存空间不够大,可能会造成缓冲溢出(bufferOverflow)的错误情况,在编写程序时请特别留意,或者用strncpy()来取代。

    18、strcspn 

    表头文件  #include<string.h>

    定义函数  size_t strcspn ( const char *s,const char * reject);

    函数说明  strcspn()从参数s 字符串的开头计算连续的字符,而这些字符都完全不在参数reject 所指的字符串中。简单地说,若strcspn()返回的数值为n,则代表字符串s 开头连续有n 个字符都不含字符串reject内的字符。

    返回值     返回字符串s开头连续不含字符串reject内的字符数目。

    19、strdup

    表头文件  #include<string.h>

    定义函数  char * strdup( const char *s);

    函数说明  strdup()会先用maolloc()配置与参数s 字符串相同的空间大小,然后将参数s字符串的内容复制到该内存地址,然后把该地址返回。该地址最后可以利用free()来释放。

    返回值      返回一字符串指针,该指针指向复制后的新字符串地址。若返回NULL表示内存不足。

    20、strlen 

    表头文件  #include<string.h>

    定义函数  size_t strlen ( const char *s);

    函数说明  strlen()用来计算指定的字符串s的长度,不包括结束字符“”。

    返回值      返回字符串s的字符数。

    21、strncasecmp

    表头文件  #include<string.h>

    定义函数  int strncasecmp(const char *s1,const char *s2,size_t n);

    函数说明  strncasecmp()用来比较参数s1 和s2 字符串前n 个字符,比较时会自动忽略大小写的差异。

    返回值      若参数s1 和s2字符串相同则返回0。s1 若大于s2 则返回大于0的值,s1若小于s2则返回小于0 的值。

    22、strncat

    表头文件  #include<string.h>

    定义函数  char * strncat(char *dest,const char *src,size_t n);

    函数说明  strncat()会将参数src 字符串拷贝n 个字符到参数dest 所指的字符串尾。第一个参数dest要有足够的空间来容纳要拷贝的字符串。

    返回值     返回参数dest的字符串起始地址。

    23、strncpy

    表头文件  #include<string.h>

    定义函数  char * strncpy(char *dest,const char *src,size_t n);

    函数说明  strncpy()会将参数src 字符串拷贝前n 个字符至参数dest 所指的地址。

    返回值      返回参数dest的字符串起始地址。

    24、strpbrk

    表头文件  #include<string.h>

    定义函数  char *strpbrk(const char *s,const char *accept);

    函数说明  strpbrk()用来找出参数s 字符串中最先出现存在参数accept 字符串中的任意字符。

    返回值      如果找到指定的字符则返回该字符所在地址,否则返回0。

    25、strrchr

    表头文件  #include<string.h>

    定义函数  char * strrchr(const char *s, int c);

    函数说明  strrchr()用来找出参数s 字符串中最后一个出现的参数c 地址,然后将该字符出现的地址返回。

    返回值     如果找到指定的字符则返回该字符所在地址,否则返回0。

    26、strspn 

    表头文件  #include<string.h>

    定义函数  size_t strspn (const char *s,const char * accept);

    函数说明  strspn()从参数s字符串的开头计算连续的字符,而这些字符都完全是accept 所指字符串中的字符。简单的说,若strspn()返回的数值为n,则代表字符串s 开头连续有n 个字符都是属于字符串accept内的字符。

    返回值      返回字符串s开头连续包含字符串accept内的字符数目。

    27、strstr

    表头文件  #include<string.h>

    定义函数  char *strstr(const char *haystack,const char *needle);

    函数说明  strstr()会从字符串haystack 中搜寻字符串needle,并将第一次出现的地址返回。

    返回值      返回指定字符串第一次出现的地址,否则返回0。

    28、strtok

    表头文件  #include<string.h>

    定义函数  char * strtok(char *s,const char *delim);

    函数说明  strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为 字符。

    在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针。

    返回值      返回下一个分割后的字符串指针,如果已无从分割则返回NULL。

  • 相关阅读:
    今天开始用 VSU 2010
    Visual Studio 2010 模型设计工具 基本应用
    Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
    Enterprise Library 4.1 Security Block 快速使用图文笔记
    解决“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。”(图)
    一个Oracle存储过程示例
    Enterprise Library 4.1 Application Settings 快速使用图文笔记
    Oracle 10g for Windows 简体中文版的安装过程
    Oracle 11g for Windows 简体中文版的安装过程
    Oracle 9i 数据库 创建数据库 Net 配置 创建表 SQL查询 创建存储过程 (图)
  • 原文地址:https://www.cnblogs.com/Malphite/p/11408108.html
Copyright © 2011-2022 走看看