String 如何在C++;? 我在想,是否有可能在C++中生成一个字符串,其中包含了数据,比如,我不想做字符串或字符串数组。

String 如何在C++;? 我在想,是否有可能在C++中生成一个字符串,其中包含了数据,比如,我不想做字符串或字符串数组。,string,c++11,String,C++11,假设我有一个字符串mv: mv = "hello new world " “你好”、“新”和“世界”在不同的行中。现在如果我们打印mv,那么“hello”、“new”和“world”应该出现在不同的行中 我也在考虑竞争性编程。如果我将查询的所有答案串联在一个字符串中,然后逐个输出答案,或者cout所有查询,两个输出中是否会有时间差?您可以将\n字符添加到字符串中以创建新行 cout << "Hello \n New \

假设我有一个字符串
mv

mv =  
"hello         
 new                   
 world "
“你好”、“新”和“世界”在不同的行中。现在如果我们打印
mv
,那么“hello”、“new”和“world”应该出现在不同的行中


我也在考虑竞争性编程。如果我将查询的所有答案串联在一个字符串中,然后逐个输出答案,或者
cout
所有查询,两个输出中是否会有时间差?

您可以将\n字符添加到字符串中以创建新行

cout << "Hello \n New \n World" << endl;

如果我没有理解错你的问题。 这是您的答案,在每行末尾添加转义字符

string mv=“你好\n\
新建\n\
世界\n“

\n->新行
\->转义字符

以下是工作示例:

string mv=“你好\n\
新建\n\
世界\n“

因此,我希望字符串变量以这种格式存储信息 像我的字符串变量mv一样,在第一行应该有一些字符串,在第二行应该有一些字符串 第二行的字符串和整个字符串应该像单个字符串一样工作

C++中的字符串(<代码> STD::String )是什么?< /P> 它是一个可动态调整大小的字符数组的容器,配备 使用用于操纵该数组的方法

字符数组是:

characters: |c0|c1|c2|c3|...|cN|
这就是
std::string
的本质。你对此无能为力

(一行文字)是什么

<>在C++中没有任何形式的定义,或者任何其他编程 语言。线是一个视觉概念,属于阅读和写作 在二维空间中排列的文本。一条线垂直于上方或下方 另一个

计算机不会在二维空间中排列数据。他们把一切都安排好了 线性、一维、存储。没有数据垂直高于或低于任何其他数据

但当然,编程语言可以表示文本行,它们 所有人都是按照同样的惯例来做的。按照惯例,一条线是一个数组 以新行序列结尾的字符

新行序列本身是一个由一个或两个字符组成的数组,具体取决于 在操作系统的约定上。Windows使用2字符序列
回车,换行
。类Unix操作系统使用1字符 序列
换行
。你可以在大学里学习这个科目 . 要不是 可移植性,在C++源代码中,新行序列-无论它实际上是什么 由
\n
,您可以在源代码中像使用字符一样使用它

因此,字符数组:

    |h|e|l|l|o|\n|
    |h|e|l|l|o|\n|n|e|w|\n|w|o|r|l|d|\n|
表示文本行:

hello
C++中的P>以及字符数组:

    |h|e|l|l|o|\n|
    |h|e|l|l|o|\n|n|e|w|\n|w|o|r|l|d|\n|
表示文本的三行:

hello
new
world

如果你想把这个数组存储在一个代码> STD::String 中,C++允许你这样做 像这样:

std::string s0{'h','e','l','l','o','\n','n','e','w','\n','w','o','r','l','d','\n'};
std::string s1{"hello\nnew\nworld\n"};
std::string s2
{R"(hello
new
world
)"};
或者更方便地像这样:

std::string s0{'h','e','l','l','o','\n','n','e','w','\n','w','o','r','l','d','\n'};
std::string s1{"hello\nnew\nworld\n"};
std::string s2
{R"(hello
new
world
)"};
甚至-如果您对使用
\n
转义序列有恐惧-如下所示:

std::string s0{'h','e','l','l','o','\n','n','e','w','\n','w','o','r','l','d','\n'};
std::string s1{"hello\nnew\nworld\n"};
std::string s2
{R"(hello
new
world
)"};
所有这些将三行存储在一个字符串中的方法都创建了 该字符串中的相同字符数组,即:

    |h|e|l|l|o|\n|n|e|w|\n|w|o|r|l|d|\n|
它们都创建了完全相同的
std::string

如果你打印这些字符串中的任何一个,你会看到相同的东西,例如。 该计划:

#include <string>
#include <iostream>

int main() {
    std::string s0{'h','e','l','l','o','\n','n','e','w','\n','w','o','r','l','d','\n'};
    std::string s1{"hello\nnew\nworld\n"};
    std::string s2 // Yes...
{R"(hello
new
world
)"}; // ...it is meant to be formatted like this
    std::cout << "--------------" << std::endl;
    std::cout << s0;
    std::cout << "--------------" << std::endl;
    std::cout << s1;
    std::cout << "--------------" << std::endl;
    std::cout << s2;
    std::cout << "--------------" << std::endl;
    return 0;
}

除非我弄错了,否则您可以在字符串中使用换行符“\n”。我试图将“\n”连接起来,但它打印的是带有此“不工作”的“\n”显示代码连接我希望我的字符串变量以这种格式存储信息,因此像我的字符串变量一样,mv应该在第一行有一些字符串,在第二行有一些字符串,整个过程应该像单个字符串一样工作string@MrinalVerma似乎你误解了C++的基本概念,什么是“字符串保持字符串”?