C++string字符串1.2
string字符串详细用法:
1、初始化:
- string str ------ 生成一个空字符串str,之后用cin和cout进行输入和输出,默认以空格结束,若想读入一整行,
- 则用getline(cin, str)输入,在之前可以用cin.get()读入回车,相当于getchar()
常规赋值方法:
- string str = "aaaaa"
- char *cstr = "bbbbb";string str2(cstr);
- char ch = 'c'; string str(5, ch) ------ 用n个字符ch初始化str
- str.resize(len, ch) ------ 把字符串当前大小置为len,并用字符ch填充不足的部分
- char *p = str.c_str() ------ 将string类转化为char型(其中str被转化)
2、描述:
对于上面的字符串,可以用str[x]表示字符串中的第x+1个字符
- str.length() ------ 返回当前字符串的长度
3、赋值:
- str = str2 ------ 字符串复制
- str.assign(cstr) ------ 将C类字符串赋值给str
- str.assign(cstr, 2) ------ 将C类字符串的前n个字符赋值给str
- str.assign(8, 'c') ------ 用8个字符c赋值给当前字符串
- str.assign(str2, 0, 3) ------ 把字符串str2中从0开始的3个字符赋给当前字符串
4、链接:
- str += str2 ------ 把str2连接到str的后面
- str.append(cstr) ------ 将C类字符串str2连接到str的后面
- str.append(cstr, 2) ------ 将C类字符串str2的前n个字符连接到str的后面
- str.push_back('k') ------ 把一个字符连接到str的结尾
5、插入与替换:
- str.replace(0, 3, "abcd"); ------ 删除从0开始的3个字符,然后在0处插入字符串"abcd"
- str.replace(0, 3, str2, 2); ------ 删除从0开始的3个字符,然后在0处插入字符串str2的前2个字符
- str.replace(0, 3, "opqrstuvw", 2, 4); ------ 删除从0开始的3个字符,然后在0处插入字符串“opqrstuvw”从位置2开
- 始的4个字符
- str.replace(0, 3, 8, 'c'); ------ 删除从0开始的3个字符,然后在0处插入8个字符c
对于插入,将replace改为insert,并将前两个参数改为1个,即插入的位置即可
6、比较:
字符串可以直接用<=、==等进行比较,并返回0或1
而对于C类字符串,用str.compare(cstr)比较,小于0表示前者大
- str1.swap(str2) ------ 交换两个字符串
7、查找:
- str.find('i', 0) ------ 从第0个字符开始查找字符'i'并返回其下标,找不到返回-1
- str.find("name", k); ------ 从第k个字符开始查找字符串"name"并返回其下标,找不到返回-1
- str.rfind("name", string::npos) ------ 反向查找字符串"name"并返回其下标,找不到返回-1
8、翻转:
- reverse(str.begin(), str.end()) ------ 翻转字符串
9、取子串:
- str.substr(k, len) ------ 从位置k开始取长度为len的子串,如果len<=0返回空串,如果不传入len则默认到字符串末尾
- str.substring(a, b) ------ 取位置a到位置b-1的子串,如果a>b,则交换a,b,如果出现负数则默认修改为0
#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int main(void)
{int len, loc;string str, temp = "fffffffff";getline(cin, str);cout<<str<<endl;printf("%c\n", str[3]);len = str.length();printf("%d\n", len);str.resize(20, 'k');cout<<str<<endl;loc = str.find('k', 0);printf("%d\n", loc);loc = str.rfind("kk", string::npos);printf("%d\n", loc);str.replace(0, 3, temp, 2, 3);cout<<str<<endl;reverse(str.begin(), str.end());cout<<str<<endl;
}
C++string字符串1.2相关推荐
- C++ string字符串的比较是否相等
C++ string字符串的比较是否相等 可以使用compare 也可以使用"==" 1 使用比较运算符 == #include <iostream> #include ...
- string字符串转换为array(互换)
将string字符串转换为array数组 NSArray *array = [Str componentsSeparatedByString:@","]; 反向方法 将array ...
- Python rstrip()方法 删除 string 字符串末尾的指定字符(默认为空格).
Python rstrip()方法 Python 字符串 描述 Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). 语法 rstrip()方法语法: str.r ...
- String字符串位置移动
有规律的String字符串位置移动 1.自定义一个有规律的String字符串 String numstr = "1,2,3,x,y,4,5"; 2.按逗号拆分numstr字符串 S ...
- java面试题,将String字符串转换成数字
2019独角兽企业重金招聘Python工程师标准>>> 题目要求:将String字符串转换成数字,不能用java自带的方法转换字符串,要求自己写一个atoi(String s),如果 ...
- 如何将json格式的string字符串转换为string数组
如何将json格式的string字符串转换为string数组?.. 发布时间:2011-05-17 www.json.org上有很多Java 楼主2010-10-10 4:58:31 比如一个stri ...
- python3中字符串编码常见种类_Python基础篇—标准数据类型—String字符串编码问题...
我要开始写String编码问题了...脑壳疼.. 在String字符串的第一篇末尾有留一个坑,就是关于中文字符串编码.整个编码的故事说起来都是很费劲的,我也只能把我所知道的梳理整理一下,在日常敲码过程 ...
- C++ 区分中文,非中文,截取含有中文的string字符串的两种方法
C++ 区分中文,非中文,截取含有中文的string字符串的两种方法 方法一 根据中文在ASCII中的范围判断 方法二 把string转成wstring 转自: http://blog.51cto.c ...
- String 字符串最长可以有多长?
String 类可以说是在 Java 中使用最频繁的类了,就算是刚刚接触 Java 的初学者也不会陌生,因为对于 Java 程序来说,main 方法就是使用一个 String 类型数组来作为参数的(S ...
- 1.2 String字符串和整型int的相互转换,valueOf() 、parse()和toString()
String 在编程中被广泛使用,所以掌握 String 和 int 的相互转换方法是极其重要的.前面部分主要讲解了 String 转换 int 和 int 转换 String 方法,后面部分对 va ...
最新文章
- mkdir创建递归目录
- Javascript Array对象
- mysql seconds_behind_master_MySQL 复制延迟 Seconds_Behind_Master 究竟是如何计算的
- 云炬Android开发笔记 15评价晒单功能实现(自定义评分控件和仿微信自动多图选择控件)
- 视频质量评价方法简介
- gridview标题居中显示_Pr:制作片尾滚动字幕(旧版标题法)
- 仿IOS应用APP下载页源码
- nginx 小简单指令
- 如何使用SIOS DataKeeper在AWS EC2中配置较少SANSQL Server群集
- 深度学习入门笔记(四):神经网络
- “我爱淘”冲刺阶段Scrum站立会议3
- linux sudo apt-get,linux sudo apt-get用法详解
- matlab图像低通滤波,用于RGB图像的Matlab低通滤波器
- php win8 下载64位下载,万能驱动助理(e驱动) Win8.1 64位专版 6.6 官方版
- 贵州最新建筑八大员(土建)模拟真题集及答案解析
- 全国31省份实体经济发展水平数据 (2004-2017年)
- Linux Ubuntu 系统测试硬盘读写速度命令
- keil软件仿真打印输出配置
- 古风排版 python
- 为自己选一个网络硬盘
热门文章
- python从入门到精通需要多久-学Python编程难吗 从入门到精通学习Python要多久
- 语音识别api_语音识别 api_免费语音识别api - 云+社区 - 腾讯云
- 独家:中国电信提出建产业统一开发平台 避免个人与政企业务脱节
- 高通骁龙cpu排行_最新手机性能排行榜出炉:高通骁龙865霸榜,前十不见华为!...
- 安装谷歌插件 ~ 一招轻松解决
- 调用接口时form-data形式如何传递数据
- react中将html字符串渲染到页面
- ndk中杀线程的办法
- JavaMail 发送邮件的实例
- jQuery 学习-样式篇(八):jQuery 设置元素的 CSS 样式