zoukankan      html  css  js  c++  java
  • 字符串常用函数

    https://blog.csdn.net/fdqw_sph/article/details/54233971

    提取子串和字符串连接
    题取子串的函数是:substr(),形式如下:
    s.substr();//返回s的全部内容
    s.substr(11);//从索引11往后的子串
    s.substr(5,6);//从索引5开始6个字符
    把两个字符串结合起来的函数是+。

    输入输出操作
    1.>> 从输入流读取一个string。
    2.<< 把一个string写入输出流。
    另一个函数就是getline(),他从输入流读取一行内容,直到遇到分行符或到了文件尾。

    https://m.jb51.net/article/123747.htm

    这篇文章主要介绍了C,C++中常用的操作字符串的函数,需要的朋友可以参考下

    小小的做一个总结
    函数名: stpcpy
    功 能: 拷贝一个字符串到另一个,遇到''时停止拷贝,destin要有足够大的空间
    用 法: char *stpcpy(char *destin, char *source);
     
    函数名: strcat
    功 能: 字符串拼接函数,注意,destin要有足够大的空间
    用 法: char *strcat(char *destin, char *source);

    函数名: strchr
    功 能: 在一个串中查找给定字符的第一个匹配之处,找不到返回NULL
    用 法: char *strchr(char *str, char c);
     
    函数名: strcmp
    功 能:  字符串大小比较,str1>str2 返回1,str1<str2 返回-1,相等返回0
    用 法: int strcmp(char *str1, char *str2);
     
    函数名: strncmpi
    功 能: 比较字符串str1和str2的前maxlen个字符,忽略大小写
    用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);
     
    函数名: strcpy
    功 能: 遇到''时停止拷贝,destin要有足够大的空间
    用 法: char *strcpy(char *str1, char *str2);
     
    函数名: strcspn
    功 能: 返回字符串s1中第一个在s2中出现的字符在s1中的下标值,亦即在s1中出现而s2中没有出现的子串的长度
    用 法: int strcspn(char *str1, char *str2);
    程序例:
    str1="Golden Global View"; str2 = "new"
    在s1中,且在s2中, n e  w这三个字符都满足,而e是在s1中最先出现的,所以返回它的位置

    函数名: strdup
    功 能: 将串拷贝到新建的位置处,注意,在使用该函数时,申请了一片新的内存,所以使用后必须释放
    用 法: char *strdup(char *str);
    程序例:

    #include <stdio.h>
    #include <string.h>
    #include <alloc.h>
    int main(void)
    {
      char *dup_str, *string = "abcde";
      dup_str = strdup(string);	// 申请了一片新的内存地址,dup_str指向了这片内存
      printf("%s
    ", dup_str);
      free(dup_str);		// 一定要释放
      return 0;
    }

    函数名: stricmp
    功 能: 比较字符串大小,忽略大小写
    用 法: int stricmp(char *str1, char *str2);

    函数名: strerror
    功 能: 返回指向错误信息字符串的指针
    用 法: char *strerror(int errnum);
    程序例:

    #include <stdio.h>
    #include <errno.h>
    int main(void)
    {
      char *buffer;
      buffer = strerror(errno);
      printf("Error: %s
    ", buffer);
      return 0;
    }

    函数名: strcmpi
    功 能: 比较两个字符串,忽略大小写
    用 法: int strcmpi(char *str1, char *str2);

    函数名: strncmp
    功 能: 比较字符串大小  maxlen是比较的位数
    用 法: int strncmp(char *str1, char *str2, int maxlen);

    函数名: strncmpi
    功 能: 把串中的一部分与另一串中的一部分比较, 不管大小写,maxlen是比较的位数
    用 法: int strncmpi(char *str1, char *str2,int maxlen);

    函数名: strncpy
    功 能: 串拷贝  maxlen规定拷多少位
    用 法: char *strncpy(char *destin, char *source, int maxlen);

    函数名: strnicmp
    功 能: 忽略大小写比较字符串  maxlen是比较的位数
    用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
     
    函数名: strnset
    功 能: 将一个字符串中的前n个字符都设为指定字符ch
    用 法: char *strnset(char *str, char ch, unsigned n);
     
    函数名: strpbrk
    功 能: 在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到则返回空指针
    用 法: char *strpbrk(char *str1, char *str2);
     
    函数名: strrchr
    功 能: 在串中查找指定字符的最后一个出现
    用 法: char *strrchr(char *str, char c);
     
    函数名: strrev
    功 能: 串倒转
    用 法: char *strrev(char *str);

    函数名:strset
    功 能: 将一个串中的所有字符都设为指定字符
    用 法: char *strset(char *str, char c);
     
    函数名: strspn
    功 能: 返回字符串str1中第一个不在指定字符串str2中出现的字符下标
    用 法: int strspn(char *str1, char *str2);
     
    函数名: strstr
    功 能: 在串中查找指定字符串的第一次出现
    用 法: char *strstr(char *str1, char *str2);
     
    函数名:strtok
    功 能: 查找由在第二个串中指定的分界符分隔开的单词
    用 法: char *strtok(char *str1, char *str2);
    程序例:

    #include<iostream>
    #include<cstring>
    using namespace std;
    int main()
    {
      char sentence[]="This is a sentence with 7 tokens";
      cout<< "The string to be tokenized is:
    "<< sentence <<"
    
    The tokens are:
    
    ";
      char *tokenPtr=strtok(sentence," ");
      while(tokenPtr!=NULL)
    	{
        cout<<tokenPtr<<endl;
        tokenPtr=strtok(NULL," "); // 再次调用时,第一个参数传NULL
      }
      
    }

    函数名: strupr
    功 能: 将串中的小写字母转换为大写字母
    用 法: char *strupr(char *str);

    函数名: swab
    功 能: 交换字节 ,nbytes是交换的字节数
    用 法: void swab (char *from, char *to, int nbytes);
    程序例:

    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    char source[15] = "Frank Borland";
    char target[15];
    int main(void)
    {
      swab(source, target, strlen(source));
      printf("This is target: %s
    ", target);
      return 0;
    }

    拷贝粘贴。

    原始网站我给了,放在博客里仅供参考。

    请点击链接。

  • 相关阅读:
    [转载红鱼儿]delphi 实现微信开发(1)
    Devexpress VCL Build v2013 vol 14.1.3 发布
    [翻译]LSP程序的分类
    睡眠不好
    LuaStudio 9.27 去10分钟退出暗桩板
    vs2012 提示 未能正确加载 "Visual C++ Language Manager Package" 包 的解决办法
    岁月蹉跎
    重新安装系统之前备份
    运动会
    乱思
  • 原文地址:https://www.cnblogs.com/skyleafcoder/p/12319560.html
Copyright © 2011-2022 走看看