字符串处理——string类型

string类型变量的赋值与连接:(s是字符串变量名)


一、string s("字符串"); //定义并初始化;
二、string s(个数,"字符"); //定义并初始化为若干相同字母;
三、string s="字符串"; //定义并初始化赋值;
四、s+=字符/字符串变量名; //连接字符串;
五、append(); //成员函数,用于在字符串后追加文本,用法如下:
    1.直接添加另一个完整字符串:s.append(s1);
    2.添加另一段字符串的某一段子串:s.append(s1,开始位置 i,长度len);
    3.添加几个相同的字符:s.append(需添加个数i,"字符");

string类型的运算:(成员函数指某个类型的特有函数,其调用方式为:变量名.函数名(参数))


一、s.size(); //成员函数,求字符串长度;
二、s[下标i]; //取字符串中某个字符(下标从0开始);
三、getline(cin,s);//读入一整行,包括空格,直到换行;
四、s.substr(开始位置 i,子串长度len); //从s中提取字符串子串;
五、s.insert(插入位置i,插入字符串s1); //在字符串s的第i个位置插入s1;
六、s.erase(开始位置 i,删除长度len); //删除字符串s的第i个位置后len个字符;
七、s.replace(开始位置 i,要替换长度len,要换上的字符串s1); //成员函数,用字符串s1替换字符串s中从i开始长度为len的一段;
八、strlen(s); //计算字符数组长度;
九、strcmp(s1,s2); //用于比较的函数;
十、strcpy(s1,s2); //用于赋值的函数;
十一、strcat(s1,s2); //把s2加到s1后面;
十二、isdigit(字符名c); //用于判断一个字符是否为数字的函数,在头文件cctype中;
十三、s.find(子字符串subs); //成员函数,在字符串s中查找子字符串subs,如果找到就返回第一个出现subs的位置,否则返回-1(string::nops);
十四、compare(); //用于比较的函数,用法如下:
    1.比较两个字符串大小:s1.compare(s2); //s1与s2相等时返回0,s1的字典序小于s2时返回值小于0,反之大于0;
    2.比较某一段子串:详情略;

string类型的拓展头文件:
1.:处理输出格式,包括fixed和setprecision;
2.:提供字符串流,其中stringstream是输入输出字符串流,可直接对它输入和输出;
3.: 算法库,其中的sort函数用于排序:sort(地址a,到地址b);其中的max函数的作用是求出两个数的最大值,如:
这里写图片描述
另附一个代码作例:

#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
using namespace std;
int main(){
    int a,b;
    stringstream tempIO;
    string ans;
    cin>>a>>b;
    tempIO<<fixed<<setprecision(5)<<a*1.0/b;
    tempIO>>ans;
    for(int i=0;i<ans.size();i++){
        if(isdigit(ans[i])) ans[i]=ans[i]-'0'+'A';
    }
    cout<<ans;
    return 0;  
}

**注:**tempIO在本程序中的作用相当于一个临时文本文件,先把浮点数输出,在读到字符串ans里,完成了转换。如果要多次使用tempIO时,每次使用后要记得tempIO.flush();进行清空。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值