gpt4 book ai didi

c++ - 如何在 C++ 的字符串中显式打印 "\n"

转载 作者:搜寻专家 更新时间:2023-10-31 00:33:00 27 4
gpt4 key购买 nike

嗨,我在 C++ 中有一个未知字符串,其中包含“\n”、“\t”等。说;

string unknown1=read_from_file();

if unknown1="\n\t\n\t\n\n\n\n\n"现在我要打印

"\n\t\n\t\n\n\n\n\n"

明确显示到屏幕上,而不是一堆空白....我该怎么做?请记住,我不知道 unknown1 中有什么...

强调一下,我知道如果我们将每个这样的字符的“\n”更改为“\n”,我们可以显式打印\n...但问题是我不知道 unknown1.. . 它是从文件中读取的....

感谢您的回答,但我们还有其他顾虑:

回答的过程还有一个问题...假设我不知道文件中唯一可能的特殊字符是\n 或\t...也许有类似\u 的东西?\我?我认为我们不能用尽所有可能性,对吗?有没有一种内置的C++函数可以输出相应的字符?

最佳答案

\n , \t 是转义序列,但您可以通过在它们之前添加额外的 \ 来打印它们, \\ 用于获取单个反斜杠。单个反斜杠意味着它是一个转义序列(如果它是有效的),但是两个反斜杠代表反斜杠字符,所以每当你需要输出反斜杠时,只需添加两个反斜杠即可。

所以,如果你使用

string unknown1="\\n\\t\\n\\t\\n\\n\\n\\n\\n";

您将获得所需的输出。

如果你正在从一个文件中读取,那么做这样的事情

string unknown1="\n\t\n\t\n\n\n\n\n";
for ( int i = 0 ; i < unknown1.length() ; i++ )
{
if( unknown1[i] == '\n')
cout<<"\\n";
}

像那样,您必须检查每个 escape sequence可以使用。

关于c++ - 如何在 C++ 的字符串中显式打印 "\n",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29933883/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com