浅谈字符串的定义(c++)非常详细,建议收藏

这篇具有很好参考价值的文章主要介绍了浅谈字符串的定义(c++)非常详细,建议收藏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

C++ 有一个新的数据类型——字符串类型。这里的 string 是 C++ 所独有的,C语言没有。

string 的定义

第1种

string s("Initial string");

定义一个值为 Initial string 的字符串 s s s,包括空格。
c++定义字符串,算法知识,c++,算法,数据结构

第2种

string s;

定义一个空字符串 s s s
c++定义字符串,算法知识,c++,算法,数据结构

第3种

string s0("Initial string");
string s(s0);

定义一个 s 0 s0 s0 字符串的copy字符串 s s s

c++定义字符串,算法知识,c++,算法,数据结构

第4种

string s0("Initial string");
string s(s0,8,3);

定义一个字符串 s 3 s3 s3,该字符串的值为从 s 0 s0 s0 的第 8 8 8 位开始,长度为 3 3 3 的字符串。

注意:我们所数的 s 0 s0 s0 的第一位实际为字符串中 s 0 s0 s0 的第 0 0 0 位,所以 s 0 s0 s0 的第 8 8 8 位是 s,即正常数的第 9 9 9 位。
c++定义字符串,算法知识,c++,算法,数据结构

第5种

string s("A character sequence",6);

定义一个字符串 s s s,值为 A character sequence 字符串中的 0 ∼ 6 − 1 0\sim6-1 061 位。
c++定义字符串,算法知识,c++,算法,数据结构

第6种

string s(10,'x');

定义一个字符串 s s s,值为10个 x
c++定义字符串,算法知识,c++,算法,数据结构

第7种

string s(10,42);

42对应 ASCII 表中的 *,所以,定义一个字符串 s s s,值为10个 *
c++定义字符串,算法知识,c++,算法,数据结构

第8种

string s0("Initial string");
string s(s0.begin(),s0.begin()+7);

begin() 是string类中的一个成员函数,代表 s 0 s0 s0 的第 0 0 0 位, s 0. b e g i n ( ) + 7 s0.begin()+7 s0.begin()+7 则代表 s 0 s0 s0 的第 6 6 6 位。

该定义等同于 string s(s0,0,7);
c++定义字符串,算法知识,c++,算法,数据结构

汇总

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s0("Initial string");//定义一个值为Initial string的字符串s,包括空格。 
	cout<<"s0:"<<s0<<endl;
	string s1;//定义一个空字符串s。
	cout<<"s1:"<<s1<<endl;
	string s2(s0);//定义一个s0字符串的copy字符串s2。
	cout<<"s2:"<<s2<<endl;
	string s3(s0,8,3);
	//定义一个字符串s3,该字符串的值为从s0的第8位开始,长度为3的字符串。
	//注意:我们所数的s0的第一位实际为字符串中s0的第0位,所以s0的第8位是's',即正常数的第9位。 
    string s4("A character sequence",6);
    cout<<"s4:"<<s4<<endl;
    //定义一个字符串s4,值为 A character sequence 字符串中的0~6-1位。 
	string s5(10,'x');//定义一个字符串s5,值为10个'x'。 
	cout<<"s5:"<<s5<<endl; 
	string s6(10,42);//42对应ASCII表中的*,所以,定义一个字符串s6,值为10个*。 
    cout<<"s6:"<<s6<<endl;
    string s7(s0.begin(),s0.begin()+7);
	cout<<"s7:"<<s7<<endl;
	//begin()是string类中的一个成员函数,代表s0的第0位,s0.begin()+7则代表s0的第6位。
	//该定义等同于 string s8(s0,0,7); 
	return 0;
}

c++定义字符串,算法知识,c++,算法,数据结构


创作不易,希望点赞+收藏。

关注作者 PineappleSummer,学习更多实用算法知识!

下期预告:浅谈string的输入和输出(c++)文章来源地址https://www.toymoban.com/news/detail-718959.html

到了这里,关于浅谈字符串的定义(c++)非常详细,建议收藏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浅谈非栈上格式化字符串

    这里先浅分析修改返回地址的两种打法,分别是\\\"诸葛连弩\\\"和”四马分肥“ 本文例题 以陕西省赛easy_printf为主 简单看一看程序 需要先过一个判断然后进入vuln 进入后 有一个13次的循环 可以让我们操作 第一步 肯定要先leak出栈地址 程序基地址和libc基地址 第二步 修改ret地址

    2024年02月14日
    浏览(50)
  • 浅谈Golang等多种语言转数组成字符串

    目录 Python 一维列表转字符串 二维列表转字符串 多维列表转字符串 Golang 一维数组的遍历打印 二维数组的遍历打印  Java 一维容器的直接打印 二维容器的直接打印 普通数组的转化 C++ 一维容器的遍历 1. to_string() 2. stringstream 二维容器的遍历 简要小结 python语言中没有普通的数

    2024年02月03日
    浏览(42)
  • JAVA 十六进制与字符串的转换浅谈

      笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题--字符串转为16进制后再转回来,英文正常,中文出现乱码 笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发

    2024年02月07日
    浏览(44)
  • 为什么 IDEA 建议去掉 StringBuilder,而要使用 “+” 拼接字符串?

    作者:京东零售 姜波 来源:京东云开发者社区 各位小伙伴在字符串拼接时应该都见过下面这种提示: 内容翻译:报告StringBuffer、StringBuilder或StringJoiner的任何用法,这些用法可以用单个java.lang.String串联来替换。使用字符串串联可以使代码更短、更简单。只有当得到的串联至

    2024年02月05日
    浏览(63)
  • Java开发手册中为什么不建议在for循环中使用“+“进行字符串操作

    java开发手册中对于循环体中进行字符串的拼接要求如下: 【推荐】循环体内,字符串的连接方式,使用 StringBuilder 的 append 方法进行扩展。 说明:下例中,反编译出的字节码文件显示每次循环都会 new 出一个 StringBuilder 对象,然后进行 append操作, 最后通过 toString 方法返回

    2024年02月08日
    浏览(52)
  • 【第六天】字符串的定义(上)

    @第六天(字符串) 字符串,顾名思义,就是用字符拼接成的文本值。字符串在储存上类似数组,,不仅字符串的长度可取,每一位的元素也可以取。在c#语言中,可以通过string类创建字符串。 在c#语言中,字符串必须包含在一堆双引号之内(“”),例如: 如果创建一个空的字

    2024年02月13日
    浏览(43)
  • Windows BAT批处理字符串相关操作(字符串定义、分割、拼接、替换、切片、查找)

    使用 set 来定义字符串 代码说明: 将字符串Hello赋值给string1的变量 使用 %string1%%string2% 的方式完成字符串的拼接。 代码说明: 用来连接字符串的字符串,如果包含了特殊字符则需要使用 ^ 转义,并且需要使用 \\\"\\\" 括起来,特殊字符包括(但不限于): 符号 作用 @ 命令行回显

    2024年02月12日
    浏览(42)
  • C语言中如何定义字符串?

    C 语言中,可以使用字符数组来定义字符串。 例如: 在这个例子中,定义了一个长度为 20 的字符数组 str,并初始化为字符串 “Hello, world!”。 在 C 语言中,字符串是以 \\0(ASCII 码为 0)作为结尾的字符数组,所以字符数组的长度需要比字符串长度多 1,用来存储结尾的 \\0。

    2024年02月12日
    浏览(46)
  • 汇编和c++初学,c++字符串加整型,导致的字符串偏移

    从汇编角度分析\\\"helloworld\\\"+1 “helloworld”+1对应 eax地址偏移加了1, 最终取的内存偏移地址,所以此时的test是elloword,后面调用iostream封装的字符串相加方法。 最终结果是 做的前端,如果是js,1会转换为字符串后相加,最近刚学c++和汇编,目前还是一知半解的,如有不对,请指

    2024年01月16日
    浏览(47)
  • C++将字符串中包含指定字符串范围内的字符串全部替换

    将指定字符串所在的范围之内的字符串全部替换为指定的字符串。如: 源字符串: 转换后的字符串: 或者转换为: 本文就是记录一种将上述字符串替换成功的方法。其中转换之后的第一个字符串,实际上是将原有字符串中 “$START$” 和 “$END$” 替换为 “” (空字符串);

    2024年02月07日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包