• c++常用字符串操作


    一、字符串分割

    函数:strtok

    原型: char *strtok(char *str, const char *delim);

    功能:分解字符串为一组字符串。

    参数说明:str为要分解的字符串,delim为分隔符字符串。

    返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL

    二、字符串查找

    函数:find函数
    原型:size_t find ( const string& str, size_t pos = 0 ) const;
    功能:查找子字符串第一次出现的位置。
    参数说明:str为子字符串,pos为初始查找位置。
    返回值:找到的话返回第一次出现的位置,否则返回string::npos 

    三、求取子字符串

    函数:substr函数
    原型:string substr ( size_t pos = 0, size_t n = npos ) const;
    功能:获得子字符串。
    参数说明:pos为起始位置(默认为0),n为结束位置(默认为npos)
    返回值:子字符串 

    四、string转换为char

    方法1:

    函数:const char *c_str();

    注意:c_str函数的返回值是const char*的,不能直接赋值给char*,一定要使用strcpy()函数 等来操作方法c_str()返回的指针;

    用法:

    最好不要像下面这样使用:

    1 string str1="Hello";
    2 char *str2=const_cast<char*>(str1.c_str());

    正确的用法是使用strcpy()来操作方法c_str()返回的指针,方法如下;

    1 char c[20];
    2 string s="hello";
    3 strcpy(c,s.c_str());

    方法2:

    函数:copy()

    用法:简单代码如下:

    1 string str="hello"; 
    2 char p[40]; 
    3 str.copy(p,5,0); //这里5,代表复制几个字符,0代表复制的位置
    4 *(p+5)=''; //要手动加上结束符

     五、数字转换为字符串

    方法1:

    利用sprintf函数;代码如下:

     1 #include <iostream>
     2 #include <string>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int n = 65535;
     8     char t[256];
     9     string s;
    10 
    11     sprintf(t, "%d", n);
    12     s = t;
    13     cout << s << endl;
    14 
    15     return 0;
    16 }

    方法二:

    代码如下:

     1 #include <iostream>
     2 #include <string>
     3 using namespace std;
     4  
     5 int main()
     6 {
     7     int n = 65535;
     8     strstream ss;
     9     string s;
    10     ss << n;
    11     ss >> s;
    12     cout << s << endl;
    13  
    14     return 0;
    15 }

    先写这么多,日后遇到了再慢慢总结 

    参考:http://www.cnblogs.com/MikeZhang/archive/2012/03/24/mysplitfuncpp.html

  • 相关阅读:
    Asp.Net Core使用Nginx实现反向代理
    在Liunx上搭建FTP并配置用户权限
    Asp.Net Core 使用Docker进行容器化部署(二)使用Nginx进行反向代理
    Asp.Net Core 使用Docker进行容器化部署(一)
    .Net Core On Liunx 环境搭建之 Docker 容器和Nginx
    .Net Core On Liunx 环境搭建之安装Mysql8
    .NET Core On Liunx环境搭建之MongoDB
    canvas图像处理汇总
    mysql数据库高并发处理
    nginx 重发机制导致的重复扣款问题
  • 原文地址:https://www.cnblogs.com/Jack-Lee/p/3633983.html
Copyright © 2020-2023  润新知