算法笔记-6.3 string用法

#include<stdio.h>
#include<iostream>
#include<string>//!!!!!!注意不是string.h
using namespace std;
int main(){
	string str;
	int k;
	cin>>str>>k;
	cout<<str<<"\n"<<k<<endl;
	printf("%s\n",str.c_str());//可通过函数将str转换为字符数组进行输出
	for(int i=0;i<str.length();i++){
		printf("%c",str[i]);
	}
	for(string::iterator it=str.begin();it!=str.end();it++){
		printf("%c",*it);
	}
	/*printf("---------\n");
	string str1="abc",str2="666";
	str1.insert(2,str2);
	cout<<str1;
	return 0;*/
}

/*
-----------string相当于字符串数组--------
1.输入输出必须用cin和cout(文件头为#include<iostream>)
        cin输入 连续写>>表示连续输入变量
        cout输出 连续写<<表示连续输出变量 \n表示换行 endl也表示换行
2.string输出的时候可以通过printf输出 需要通过c_str()函数转换
3.operator+=  两个string直接拼接
        string str1="abc",str2="xyz",str3;
        str3=str1+str2;//str3=abcxyz
        str1+=str2;//str1=abcxyz
4.compare operator  直接通过符号进行比较大小 比较规则是字符序
        sting str3="abc" str4="xyz"
        if(str4>=str3)printf("OK")
        //输出:OK
5.str.length()/str.size() 两个函数基本相同 都是直接计算string的长度
6.str.insert() 插入元素
        方法一:
        string str1="abc",str2="kkk"
        str1.insert(2,str2);//结果为abkkkc  在str1的第二位插入str2
        方法二:
        string str1="abc",str2="kkk"
        str1.insert(str1.begin()+3,str2.begin(),str2.end());//结果为abckkk 在str1的第三位 插入str2.begin~str2.end位的元素
        //里面必须用迭代器 不能用数字表示
7.str.erase() 删除元素
        方法一:erase(it)//it为需要删除元素的迭代器
        方法二:erase(first,last)//first/last为需要删除元素的迭代器
        方法三:erase(pos,length)//pos为需要开始删除的起始位置 length为删除字符的个数
8.str.clear() 清空
9.str.substr(pos,len) 返回从pos号位开始、长度为len的子串
10.string::npos==-1 即当find函数失效时的返回值,默认为-1
        如:if(string::npos==-1)printf("xxx");
11.str.find(str2)
        如:if(str.find(str2)!=string::npos)cout<<str.find(str2)<<endl
12.str.replace(pos,len,str2) 即把str从pos号位开始、长度为len的子串替换为str2
        如:str.replace(10,4,str2)
*/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值