• 常用字符串函数集合


       

      随着计算机科学的发展和计算机应用的推广,对字符串的处理越来越成为计算机的一项重要能力。当然,在acm中也时常要用到。现在,我就来总结下在acm中必须掌握的字符串函数:

      出现的顺序是按在acm中的使用频率来排的。

      头文件:#include<string.h> / #include<cstring> ,分别为 C 和 C++中的头文件。

      1.extern unsigned int strlen(char *s);

      ------>> 说明:

           求字符串的长度,即字符串中字符的个数,不包括字符串标识符 ‘'。

      2. extern int strcmp(const char * s1, const char * s2);

      ----->> 说明:

          字符串比较函数:const char *s1 , const char *s2 分别为需要比较的字符串。
          当 s1 < s2 时,返回为负数
          当 s1 = s2 时,返回 0
          当 s1 > s2 时,返回正数
          即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。
     
     
      3. extern char *strcpy(char* dest, const char *src)
        extern char *strncpy(char *dest, char *src, int maxlen);
      ------>> 说明:
           两个都是字符串复制函数:前者是把从src地址开始且含有 '' 标志符的整个字符串复制到以dest开始的地址中,并且不管 dest 是否有足够的空间存下 src (容易造成缓冲区溢出)。而后者可以让你来从 src 中选一段字符内容复制到 dest 中,而且当dest存不下时,就会立即停止,所以相对前者安全。
     
     
      4. extern char *strstr(char *s1, const char *s2);
      ------->> 说明:
           若 s2 是 s1 的子串,则先确定 s2 在s1 的第一次出现的位置,并返回此位置到 s1 末尾的所有字符;如果 s2 不是 s1 的子串,则返回NULL。
          (注:若想返回str2在str1第一次出现的位置,不是这个函数。仔细观察会发现它放回的 s2 第一次出现的 s2 首地址
          比如有如下代码:  
    char *s1="I Love You,Someboay";
    cout << strstr(s1, "Some") << endl;
    
    输出的是: "Somebody"
      5. extern char *strrev(char *s);
      ------>> 说明:
           字符串反转函数。把字符串 s 的所有字符的顺序颠倒过来(不包括空字符NULL)。
     
      6. extern char *strcat(char *dest,char *src);
      ------>> 说明:
           把两个不同的字符串连接为一个字符串,即把src所指字符串添加到dest结尾处(覆盖dest结尾处的'')并添加''。
     
     
     
  • 相关阅读:
    suse linux 下MYSQL 修改默认字符集
    检查oracle表空间使用情况
    SQL递归查询(SqlServer/ORACLE递归查询)[语法差异分析]
    ORA12519错误解决方案
    全表行转列——动态SQL
    MYSQL 远程连接错误ERROR 2013 (HY000): Lost connection to MySQL server at
    MYSQL根据字段名查询所属表
    ORA12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程错误解决方案
    suse linux 下取消mysql大小写敏感
    ORACLE根据字段名字查询所属表
  • 原文地址:https://www.cnblogs.com/khan724/p/4109443.html
Copyright © 2020-2023  润新知