C++ STL函数 string(henu.hjy)

本文详细介绍了C++中string类的使用方法,包括字符串的创建、连接、查找、替换等操作,以及如何使用迭代器进行高级操作。通过实例演示了字符串长度、插入、删除、替换等功能,并展示了如何利用字典序进行比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

string是字符串

前提:#include <string> (C中应加入using namespace std;)

注释中给了各种string函数的用法,大家可以借鉴一下

#include <iostream>
#include <string>//注意string和string.h是不一样的头文件

using namespace std;

//string 用c++的话可以直接用cin和cout用于输入和输出
//可在定义时赋值 string str = "advd";
//如果用c的printf输出可以使用str.c_str()函数进行输出
//迭代器 string::iterator it;
//string和vector都支持对于迭代器加减某个数字
//用+直接连接两个字符串 str1 = "ac"; str2 = "de"; str1+=str2;==>str1 = "acde";相当于将字符串2拼接到字符串1的末尾
//str3 = str1+str2;这样是将两字符串赋给一个新的字符串
//==;!=;<;<=;>;>=利用字典序进行比较
//str.length()与str.size()都表示字符串的长度
//str.insert();用法:(1)str.insert(pos,string); pos为string插入的位置,pos是数字可以理解为从该数组下标开始
//(2)str.insert(it,it2,it3);  it为原字符串预插入位置  it2 it3 分别为所插入子串的首位迭代器
//str.erase(it);    str.erase(first,last);在两迭代器之间       str.erase(pos,length);删除从pos位起长为length的字符
//str.clear();清空
//str.substr(pos,length);   pos号位开始长度为length的字符串
//string::npos;是当find()函数失配时的元素返回值
//str.find(str1);   返回str1在str中的起始位置
//str.find(str2,pose);  从str的pose位开始匹配str2返回当前位置
//str.replace(pose,len,str1);  将pose位开始长为len的子串,替换为str1
//str.replace(it1,it2,str1);    将迭代器[it1,it2)位置上的子串替换为str1

int main()
{
    string str;
    string str1;
    string str2;
    cout<<"输入第一个和第二个字符串"<<endl;
    cin>>str1;
    cin>>str2;
    cout<<"str1.length="<<str1.length()<<"  str2.size()="<<str2.size()<<endl;
    str = str1+str2;
    cout<<"Output str1 + str2"<<endl;
    cout << str;
    cout << endl;
    str.insert(3,"kaka");
    string::iterator it = str.begin()+2;
    str.insert(it,str1.begin(),str1.end());
    cout<<"在str[3]位置插入kaka,后在str[2]位置插入str1字符串"<<endl;
    for(string::iterator it = str.begin();it!=str.end();it++){
        cout<<*it;
    }
    cout<<endl;
    cout<<"返回str[2]开始长度为str1长度的字符串"<<str.substr(2,str1.size())<<endl;
    if(str.find(str1,1)!=string::npos){
        cout<<"从str[1]开始搜索存在字符串str1的位置是:"<<str.find(str1)<<endl;
    }
    else{
        cout<<"在其中没有字符串!"<<endl;
    }
    str.replace(2,str2.size(),str2);
    cout<<"将str1替换str2:"<<endl;
    for(string::iterator it = str.begin();it!=str.end();it++){
        cout<<*it;
    }
    cout<<endl;
    return 0;
}

 

内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值