1 append(string T&);字符串拼接

2 c_str

string.c_str是Borland封装的String类中的一个函数,它返回当前字符串的首字符地址。

3 empty();判断是否为空

4 erase

删除

5 find

在字符串中查找Find content in string

6 find_first_not_of

Find absence of character in string

7 find_first_of

Find character in string

8 find_last_not_of

Find non-matching character in string from the end

9 find_last_of

Find character in string from the end

10 rfind

Find last occurrence of content in string

11 insert

插入

12 replace

替换

打印字符串,并执行

system(string1[i].c_str());

//std::array<std::string, 数组元素个数>

 #include <iostream>
#include <array>
#include <string>
using namespace std; void main()
{
std::array<std::string, > string1 = { "calc","notpad","tasklist","mspaint","write" };//std::array<std::string, 数组元素个数> for (int i = ; i < ; i++)
{
std::cout << string1[i] << std::endl;//打印
system(string1[i].c_str());//执行
} system("pause");
};

字符串相加,类似C的strcat函数

 #include <iostream>
#include <array>
#include <string>
using namespace std; void main()
{
std::string str1 = "task";
std::string str2 = "list";
std::string str3 = str1 + str2; system(str3.c_str()); system("pause");
}

C: char str[]

C++: string

注意区分两者不同,string是类

error C3863: 不可指定数组类型“char [100]”

 #include <iostream>

 void main()
{
char str[];
str = "hello";//error C3863: 不可指定数组类型“char [100]” std::string str1;
str1 = "world";
}

append可以实现字符串拼接

 #include <iostream>
#include <string> void main()
{
std::string str1("hello");
std::string str2("world");; str1.append(str2);//字符串拼接 std::cout << str1 << std::endl;
}

str1.insert(str1.begin(), 'X');//头部插入

str1.insert(str1.end(), 'X');//尾部插入

str1.insert(str1.begin(), 3, 'X');//头部插入3个X

str1.insert(str1.begin() + 3, 3, 'X');//头部插入3个X,在开头第3个位置插入

 #include <iostream>
#include <string> void main()
{
std::string str1("hello");
std::string str2("world");; str1.insert(str1.begin(), 'X');//头部插入
str1.insert(str1.end(), 'X');//尾部插入 str1.insert(str1.begin(), , 'X');//头部插入3个X str1.insert(str1.begin() + , , 'X');//头部插入3个X,在开头第3个位置插入 std::cout << str1 << std::endl;
}

str.erase(str.begin());//删除第一个字符
str.erase(3, 4);//从下标3开始,删除4个字符(下标从0开始)

 #include <iostream>
#include <string> void main()
{
std::string str("helloworld"); str.erase(str.begin());//删除第一个字符
str.erase(, );//从下标3开始,删除4个字符(下标从0开始) std::cout << str << std::endl;
}

str.replace(0, 3, "china");//从下标0开始,把3个字符替换成china
//位置,长度,字符串

str.replace(0, 3, "china");//从下标0开始,直接插入china

 #include <iostream>
#include <string> void main()
{
std::string str("helloworld"); str.replace(, , "china");//从下标0开始,把3个字符替换成china
//位置,长度,字符串 str.replace(, , "china");//从下标0开始,直接插入china std::cout << str << std::endl;
}

各种find

 #include <iostream>
#include <string> void main()
{
std::string str("helloworld"); std::cout << str.find("wo") << std::endl;//正向查找 std::cout << str.rfind("wo") << std::endl;//反向查找 std::cout << str.find_first_of("wo") << std::endl;//最后一个找到与字符串匹配的字符位置 std::cout << str.find_first_not_of("wo") << std::endl; std::cout << str.find_last_of("wo") << std::endl; std::cout << str.find_last_not_of("wo") << std::endl; std::cout << str << std::endl;
}

string判断是否一样

 #include <iostream>
#include <string> void main()
{
std::string str1("helloworld");
std::string str2("helloworld"); char str3[] = "helloworld";
char str4[] = "helloworld"; std::cout << (str1 == str2) << std::endl;//string重载==
std::cout << (str3 == str4) << std::endl;//判断地址是否一样,地址肯定不一样,永远是0 std::cout << str1.empty() << std::endl;//判断是否为空
}

121456

#include <string>的更多相关文章

  1. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  2. Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include

    问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...

  3. error RC1015: cannot open include file 'afxres.h' 解决办法

    在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...

  4. Mybatis常用总结:参数,返回,执行sql,include等

    1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...

  5. jsp中的@include与jsp:include区别详解

    1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...

  6. JSP中编译指令include与动作指令include的区别

    include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...

  7. C/C++ 中的include

    当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...

  8. 织梦多语言站点,{dede:include filename=''/}引入问题

    织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...

  9. PHP 站点相对包含,路径的问题解决方法(include,require)

    以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...

  10. 如何让include标签包裹的布局置于屏幕最下方?

    如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性  a ...

随机推荐

  1. 预定义变量 - PHP手册笔记

    预定义变量将所有的外部变量表示成内建环境变量,并且将错误信息表示成返回头.超全局变量是在全部作用域中始终可用的内置变量.在函数或方法中无需执行global $variable,就可以访问它们. $GO ...

  2. Python : 熟悉又陌生的字符编码(转自Python 开发者)

    Python : 熟悉又陌生的字符编码 字符编码是计算机编程中不可回避的问题,不管你用 Python2 还是 Python3,亦或是 C++, Java 等,我都觉得非常有必要厘清计算机中的字符编码概 ...

  3. scikit-learn的主要模块和基本使用

    1.加载数据(Data Loading) 假设输入是特征矩阵或者csv文件,首先数据被载入内存. scikit-learn的实现使用了NumPy中的arrays,所以,使用NumPy来载入csv文件. ...

  4. android中利用view画出一条竖线

    在android中有时候需要通过线条来分割控件.最常见的情形就是在底部选项卡的多个button中间,通过加入一条竖线加以区分或者是在头部导航添加 竖线,将返回键和其他内容区分开来.一般会通过image ...

  5. ping-tool

    https://serve.netsh.org/pub/ping-tool/ https://serve.netsh.org/pub/ipv4-hosts/

  6. POJ 3111 K Best(二分答案)

    [题目链接] http://poj.org/problem?id=3111 [题目大意] 选取k个物品,最大化sum(ai)/sum(bi) [题解] 如果答案是x,那么有sigma(a)>=s ...

  7. 动态规划——数字三角形(递归or递推or记忆化搜索)

    动态规划的核心就是状态和状态转移方程. 对于该题,需要用抽象的方法思考,把当前的位置(i,j)看成一个状态,然后定义状态的指标函数d(i,j)为从格子出发时能得到的最大和(包括格子本身的值). 在这个 ...

  8. 当MVC4无法跳转时

    //RedirectToAction("Index","首页"); //return View("首页/Index"); //Redirec ...

  9. 清空DateTimePicker控件的好方法

    [控件ID,不要加这个方括号].Format = DateTimePickerFormat.Custom; [控件ID,不要加这个方括号].CustomFormat = " "; ...

  10. linux新建磁盘并分区

    先在虚拟机上添加一块硬盘. 查看磁盘分区:sdb还没有分配 新建一个100M的分区:再查看,发现新建成功了. 再查看fdisk -l ******ext4格式不支持.就使用了ext2进行格式化了. m ...