> str; //give-6ren">
gpt4 book ai didi

c++ - 当我从 cin 读取时,为什么转义字符不起作用?

转载 作者:IT老高 更新时间:2023-10-28 12:29:35 29 4
gpt4 key购买 nike

(一)

string str = "Hello\nWorld";

当我打印 str 时,输出是:

Hello
World

(b)

string str;
cin >> str; //given input as Hello\nWorld

当我打印 str 时,输出是:

Hello\nWorld

(a)和(b)有什么区别?

最佳答案

C++ 编译器在提供控制字符时有一定的规则—— documentation .如您所见,当您在字符串文字中指定 \n 时,它会被 compiler 替换为换行符(ASCII 值为 0xa)。因此,您得到的不是 2 个符号 \n,而是一个二进制代码 0xa 的符号(我假设您使用 ASCII 编码),这使得控制台将输出移动到新的打印时的行。当您读取字符串时,不涉及编译器,并且您的字符串中包含实际符号 \n

关于c++ - 当我从 cin 读取时,为什么转义字符不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51864157/

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