zoukankan      html  css  js  c++  java
  • 字符串处理函数大全

    做题的时候越来越感觉到c语言的库函数的强大性,看别人的代码,总是觉得很经典,看来以后自己贴代码的时候一定要将代码优化以后才能贴出来,要不然就显得很损了

    View Code
    //强悍的字符串库函数哇,太方便了
    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    char st1[100], st2[100], st[100]
    //就下面这一个简单的小程序,就直接把一句很长的字符串分割成一个个的单词了,很棒,很实用哦
    int main()
    {
        gets(st);
        //strtok,包含在string.h中的库函数
        char *p = strtok(st," ");
        puts(p);
        while((p = strtok(NULL," ")) != NULL)
        puts(p);
        return 0;
    }
    //查找子串的函数
    int ...()
    {
        //查找字符
        ①strchr        
        原型:extern char *strchr(char *s,char c);       
        用法:#include <string.h>  
        功能:查找字符串s中首次出现字符c的位置 
        说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。
        //②查找字符串s2,中的所有字符,在s1中最先出现的那个字符
        原型:extern int strcspn(char *s1,char *s2);       
        用法:#include <string.h> 
        功能:在字符串s1中搜寻s2中所出现的字符。
        说明:返回第一个出现的字符在s1中的下标值,亦即在s1中出现而s2中没有出现的子串的长度。
        举例:
          
          #include <stdio.h>
          #include <string.h>
          main()
          {
            char *s="Golden Global View";
            char *r="new";
            int n;
            n=strcspn(s,r);
            printf("The first char both in s1 and s2 is: %c",s[n]);
            return 0;
          }
        //查找字串
        ③strstr
        原型:extern char *strstr(char *haystack, char *needle);       
        用法:#include <string.h>
        功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。
        说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。
    }
    //字符串比较函数
    int ...()
    {
        //区分大小写比较两个字符串
        原型:extern int strcmp(char *s1,char * s2);       
        用法:#include <string.h>
        功能:比较字符串s1和s2。  
        说明:
            当s1<s2时,返回值<0
            当s1=s2时,返回值=0
            当s1>s2时,返回值>0
        //不区分大小写比较字符串
        ①strcmpi        
        原型:extern int strnicmp(char *s1,char * s2,int n);        
        用法:#include <string.h>  
        功能:比较字符串s1和s2的前n个字符但不区分大小写。
        说明:strncmpi是到strnicmp的宏定义
            当s1<s2时,返回值<0
            当s1=s2时,返回值=0
            当s1>s2时,返回值>0
        ②stricmp    
        原型:extern int stricmp(char *s1,char * s2);      
        用法:#include <string.h>
        功能:比较字符串s1和s2,但不区分字母的大小写。
        说明:strcmpi是到stricmp的宏定义,实际未提供此函数。
            当s1<s2时,返回值<0
            当s1=s2时,返回值=0
            当s1>s2时,返回值>0
        //比较两个字符串的部分字符
        ①strncmp
        原型:extern int strcmp(char *s1,char * s2,int n);        
        用法:#include <string.h> 
        功能:比较字符串s1和s2的前n个字符。 
        说明:
            当s1<s2时,返回值<0
            当s1=s2时,返回值=0
            当s1>s2时,返回值>0
        //另外的stricmp以及strcmpi的用法类似strcmp
        strcasecmp(st1,st2);//同为不区分大小写比较两个字符串的函数,不过这个使用在code blocks编辑器上,在vc上是不能被识别的,uva上面也是要调用这个函数的,不然会出现编辑错误
    }
        //字符串的复制
    int ...()
    {
        ①strcpy
        原型:extern char *strcpy(char *dest,char *src);      
        用法:#include <string.h>
        功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
        说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
            返回指向dest的指针。
        ②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的指针。
        //很方便的复制字符串到另一个字符串当中参照线面函数
          #include<stdio.h>      
          #include <string.h>
          main()
          {
            char *s="Golden Global View";
            char *d;       
            d=strdup(s);
            printf("%s\n",d);
            return 0;
          }
        //这样就很简单的把字符串*s的字符复制到另一个地址里,这个地址的头指针就是d
    }
    //字符串的连接函数
    int ...()
    {
        ①strcat
        原型:extern char *strcat(char *dest,char *src);        
        用法:#include <string.h> 
        功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
        说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
            返回指向dest的指针。
        ②strncat
        原型:extern char *strncat(char *dest,char *src,int n);        
        用法:#include <string.h>
        功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
        说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
            返回指向dest的指针。
    }
  • 相关阅读:
    HMM 学习一
    matlab buffer的使用
    JDK环境变量配置及Tomcat安装服务
    Js参数RSA加密传输,jsencrypt.js的使用
    Dapper基本增删改查
    Dapper事务操作
    Ubuntu知识记录
    InstallShield 覆盖安装
    Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
    Sql Server导出表结构Excel
  • 原文地址:https://www.cnblogs.com/SDUTYST/p/2605354.html
Copyright © 2011-2022 走看看