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相关推荐

  1. C++ string字符串的比较是否相等

    C++ string字符串的比较是否相等 可以使用compare 也可以使用"==" 1 使用比较运算符 == #include <iostream> #include ...

  2. string字符串转换为array(互换)

    将string字符串转换为array数组 NSArray  *array = [Str componentsSeparatedByString:@","]; 反向方法 将array ...

  3. Python rstrip()方法 删除 string 字符串末尾的指定字符(默认为空格).

    Python rstrip()方法  Python 字符串 描述 Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). 语法 rstrip()方法语法: str.r ...

  4. String字符串位置移动

    有规律的String字符串位置移动 1.自定义一个有规律的String字符串 String numstr = "1,2,3,x,y,4,5"; 2.按逗号拆分numstr字符串 S ...

  5. java面试题,将String字符串转换成数字

    2019独角兽企业重金招聘Python工程师标准>>> 题目要求:将String字符串转换成数字,不能用java自带的方法转换字符串,要求自己写一个atoi(String s),如果 ...

  6. 如何将json格式的string字符串转换为string数组

    如何将json格式的string字符串转换为string数组?.. 发布时间:2011-05-17 www.json.org上有很多Java 楼主2010-10-10 4:58:31 比如一个stri ...

  7. python3中字符串编码常见种类_Python基础篇—标准数据类型—String字符串编码问题...

    我要开始写String编码问题了...脑壳疼.. 在String字符串的第一篇末尾有留一个坑,就是关于中文字符串编码.整个编码的故事说起来都是很费劲的,我也只能把我所知道的梳理整理一下,在日常敲码过程 ...

  8. C++ 区分中文,非中文,截取含有中文的string字符串的两种方法

    C++ 区分中文,非中文,截取含有中文的string字符串的两种方法 方法一 根据中文在ASCII中的范围判断 方法二 把string转成wstring 转自: http://blog.51cto.c ...

  9. String 字符串最长可以有多长?

    String 类可以说是在 Java 中使用最频繁的类了,就算是刚刚接触 Java 的初学者也不会陌生,因为对于 Java 程序来说,main 方法就是使用一个 String 类型数组来作为参数的(S ...

  10. 1.2 String字符串和整型int的相互转换,valueOf() 、parse()和toString()

    String 在编程中被广泛使用,所以掌握 String 和 int 的相互转换方法是极其重要的.前面部分主要讲解了 String 转换 int 和 int 转换 String 方法,后面部分对 va ...

最新文章

  1. mkdir创建递归目录
  2. Javascript Array对象
  3. mysql seconds_behind_master_MySQL 复制延迟 Seconds_Behind_Master 究竟是如何计算的
  4. 云炬Android开发笔记 15评价晒单功能实现(自定义评分控件和仿微信自动多图选择控件)
  5. 视频质量评价方法简介
  6. gridview标题居中显示_Pr:制作片尾滚动字幕(旧版标题法)
  7. 仿IOS应用APP下载页源码
  8. nginx 小简单指令
  9. 如何使用SIOS DataKeeper在AWS EC2中配置较少SANSQL Server群集
  10. 深度学习入门笔记(四):神经网络
  11. “我爱淘”冲刺阶段Scrum站立会议3
  12. linux sudo apt-get,linux sudo apt-get用法详解
  13. matlab图像低通滤波,用于RGB图像的Matlab低通滤波器
  14. php win8 下载64位下载,万能驱动助理(e驱动) Win8.1 64位专版 6.6 官方版
  15. 贵州最新建筑八大员(土建)模拟真题集及答案解析
  16. 全国31省份实体经济发展水平数据 (2004-2017年)
  17. Linux Ubuntu 系统测试硬盘读写速度命令
  18. keil软件仿真打印输出配置
  19. 古风排版 python
  20. 为自己选一个网络硬盘

热门文章

  1. python从入门到精通需要多久-学Python编程难吗 从入门到精通学习Python要多久
  2. 语音识别api_语音识别 api_免费语音识别api - 云+社区 - 腾讯云
  3. 独家:中国电信提出建产业统一开发平台 避免个人与政企业务脱节
  4. 高通骁龙cpu排行_最新手机性能排行榜出炉:高通骁龙865霸榜,前十不见华为!...
  5. 安装谷歌插件 ~ 一招轻松解决
  6. 调用接口时form-data形式如何传递数据
  7. react中将html字符串渲染到页面
  8. ndk中杀线程的办法
  9. JavaMail 发送邮件的实例
  10. jQuery 学习-样式篇(八):jQuery 设置元素的 CSS 样式