• 常用的字符串相关函数


    char类:

    1.strcpy(s1,s2);将s2为起始地址的字符串复制到s2中。

    2.strncpy(s1,s2,k);将s2为起始地址的字符串的前k个复制到s1中。

    char s1[20],s2[20];
    cin>>s2;
    int k=4;
    strncpy(s1,s2,k);
    s1[k]='';
    cout<<s1<<endl;

    3.strstr(s1,s2);在s1中查找s2,如果查找到,返回第一次出现的位置;否则返回NULL。

    char s1[]={"abc"},s2[]={"iiiabciii"};
    char* pos=strstr(s2,s1);
    if(pos!=NULL) printf("%s
    ",pos);
    //输出:abciii

    4.strcmp(s1,s2);按字典序比较s1和s2的大小。相等返回0;s1>s2返回1;s1<s2返回-1。

    5.strncmp(s1,s2,n);strncmp函数是指定比较size个字符。也就是说,如果字符串s1与s2的前size个字符相同,函数返回值为0。

    char s1[]={"abcdd"};
    char s2[]={"abc"};
    printf("%d
    ",strncmp(s1,s2,3));

     6.memcpy(s2,s1,size);内存拷贝函数,将s1中长度为size的内存拷贝到s2中。

    char s1[10]={"abcd"};
    char s2[10];
    memcpy(s2,s1,sizeof s1);
    puts(s2);

    7.strcat(s2,s1);将s1连接到s2后面。

    char s1[10]={"abcd"};
    char s2[10]={"yyyy"};
    strcat(s1,s2);
    puts(s1);

    string类:

    1. string.c_str();

    返回的是const char*类型;

    string s;
    cin>>s;
    const char* str=s.c_str();
    puts(str);

     2.stringstream类.

      以string类创建缓冲区,提高输入速度.

    #include<cstdio>
    #include<sstream>
    #include<iostream>
    using namespace std;
    string str;
    int main()
    {
          while(getline(cin,str))
          {
               stringstream stringStream(str);
               while(stringStream>>str)
               {
                     cout<<str<<endl;
               }
          }
          return 0;
    }

     3.string.substr(int pos,int len)方法

  • 相关阅读:
    kvm虚拟机添加网卡
    rsync搭建
    hadoop副本数三个变为一个
    nginx日志ip提取参数介绍
    expect使用
    全球语言排行版查询
    mysql忘记密码(跳过权限修改)
    数据备份从阿里云主机(外网主机)拉取到本地服务器
    nginx+keepalived IP飘移(高可用)
    负载均衡配置
  • 原文地址:https://www.cnblogs.com/crazyacking/p/4693906.html
Copyright © 2020-2023  润新知