<STL>学习string

2023-05-16

string

https://www.bilibili.com/video/BV1P7411k7Km?p=17

头文件

#include <string>

①四种初始化方法

string s1;             //没写小括号调用string默认的构造函数
string s2("hello!");   //小括号是调用string对象的构造函数
string s3(s2);
string s4(10,'a');
cout<<"s1="<<s1<<endl;
cout<<"s2="<<s2<<endl;
cout<<"s3="<<s3<<endl;
cout<<"s4="<<s4<<endl;

输出结果
在这里插入图片描述
注:

string s5="hello";    //这是不好的方法,由于先调用默认构造函数再赋值,所以比s2方法慢

②输入输出

string s;
cout<<"please input your name:"<<endl;
cin>>s;
cout<<s<<endl;

输出结果

仅仅读到空格前的内容,如果想要读到后面的内容那么需要两个string

string s1,s2;
cout<<"please input your name:"<<endl;
cin>>s1;
cin>>s2;
cout<<s1<<endl;
cout<<s2<<endl;

或者

string s1,s2;
cout<<"please input your name:"<<endl;
cin>>s1>>s2;
cout<<s1<<s2<<endl;

输出结果
在这里插入图片描述
如果cin后先输入空格再输入字符那么输出结果:
在这里插入图片描述
自动消去了前面输入的空格,回车,跳表等符号

如果想要输出一整行包括空格的内容,那么:

string s1;
cout<<"please input your name:"<<endl;
getline(cin,s1);
cout<<s1<<endl;
return 0;

输出结果
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

<STL>学习string 的相关文章

  • java中使用多个分隔符分割字符串

    我正在研究一种数据挖掘算法 我需要使用多个单词来标记字符串 我有一个单独的文件 其中包含所有停用词 我需要做的是通过任何作为分隔符的单词 停用词 来标记输入字符串 例如 如果文件包含停用词 a is and of that 输入字符串变为
  • 更改 Java 字符串中的日期格式

    I ve a String代表一个日期 String date s 2011 01 18 00 00 00 0 我想将其转换为Date并将其输出到YYYY MM DD format 2011 01 18 我怎样才能实现这个目标 好的 根据我
  • String.substring 在 Java 中到底做了什么?

    我一直想如果我这样做String s Hello World substring 0 5 然后我就得到一个新字符串s Hello Java API 文档中也记录了这一点 返回一个新字符串 该字符串是该字符串的子字符串 但当我看到下面两个链接
  • 将由空格分隔的整数字符串更改为 int 列表[重复]

    这个问题在这里已经有答案了 我该如何做类似的东西 x 1 2 3 45 87 65 6 8 gt gt gt foo x 1 2 3 45 87 65 6 8 我完全陷入困境 如果我按索引执行此操作 那么超过 1 位数字的数字将被分解 请帮
  • C++ std::list:迭代时擦除/删除元素[重复]

    这个问题在这里已经有答案了 可能的重复 您可以在迭代 std list 时从其中删除元素吗 https stackoverflow com questions 596162 can you remove elements from a st
  • 是否可以在不使用连接器的情况下将 C# 变量包含在字符串变量中?

    NET 3 5 C 是否允许我们在字符串变量中包含变量 而无需使用 连接符 或 string Format 例如 在伪中 我使用 符号来指定变量 DateTime d DateTime Now string s The date is d
  • 如何逐行解析文本区域中的用户输入

    如果我有一个包含文本信息的变量 比如从文本区域获取 如何逐行读取字符串变量中保存的文本内容 在文本区域中输入的文本将以 n 输入键 来分隔行 您可以使用StringReader http msdn microsoft com en us l
  • python 2.7.5 中的 str() 与 repr() 函数[重复]

    这个问题在这里已经有答案了 有什么区别str and repr python 2 7 5 中的函数 python org 上的说明 The str 函数的目的是返回值的表示 这些值是相当的人类可读的 while repr 是为了生成 表示可
  • 如何在 Rust 中从文字创建格式化字符串?

    我将根据给定的参数返回一个字符串 fn hello world name Option
  • PHP中用逗号分解复杂字符串

    我需要分割一个包含逗号的字符串 我已经找到了类似字符串的东西 str getcsv A B with a comma eh C 但我的字符串是这样的 例如值没有包含字符 A B one two C 我需要分解它并获得 array 3 0 g
  • STL 容器速度与数组

    我刚刚开始从事一个科学项目 其中速度非常重要 HPC 我目前正在设计数据结构 该项目的核心是双值 3D 网格 以求解偏微分方程 由于这里的速度可能比代码的简单性更重要 我想知道 STL 与通常的 C 风格数组相比如何执行 就我而言 因为它是
  • 将向量转换为整数

    我正在寻找用于将整数向量转换为普通整数的预定义函数 但我没有找到 vector
  • std::deque 的内存开销到底是怎么回事?

    我正在研究一种使用外部排序算法std queue并且必须仔细限制其内存使用 我注意到在合并阶段 使用了几个std queues 固定长度 我的内存使用量增加到我预期的大约 2 5 倍 自从std queue默认情况下使用std deque作
  • 如何在 Perl 中使用 use strict 一次一行处理多行字符串?

    我正在尝试找出 PBP 批准的正确方法来一次一行处理多行字符串 许多 Perl 编码人员建议将多行字符串视为文件句柄 除非您在脚本中使用 use strict 否则它可以正常工作 然后 您会收到编译器发出的警告 提示在使用严格引用时无法使用
  • C++:初始化静态字符串成员

    我在 C 中初始化静态字符串成员时遇到一些问题 我有几个类 每个类都包含几个表示 id 的静态字符串成员 当我通过调用静态函数初始化变量时 一切都很好 但是 当我想为一个变量分配另一个变量的值时 它仍然保留空字符串 这段代码有什么问题 st
  • 将数据框中的每个 x 个字符拆分为字符串

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • 从 STL 列表中删除项目

    我想创建一个函数 如果符合特定条件 则将项目从一个 STL 列表移动到另一个列表 这段代码不是这样做的方法 迭代器很可能会被擦除 函数失效并导致问题 for std list
  • std::copy/memcpy/memmove 优化

    我查看了 GCC STL 4 6 1 并看到std copy 使用优化版本以防内置 is trivial 评估为true 自从std copy and std reverse copy 模板对于复制数组中的元素非常有用 我想使用它们 但是
  • 当字符串的长度大于n时,如何打印字符串的前n个字节?

    所以我有一个具有一定字节数 或长度 的字符串 我说字节是因为字符串末尾没有 NULL 终止符 不过 我知道绳子有多长 通常 众所周知 当您printf s str 它将继续打印每个字节 直到到达 NULL 字符 我知道没有 C 字符串不是
  • Java中字符串中特殊字符的替换

    Java中如何替换字符串 E g String a adf sdf 如何替换和避免特殊字符 您可以删除除此之外的所有字符可打印的 ASCII 范围 http en wikipedia org wiki ASCII ASCII printab

随机推荐