在字符串中输入换行符

entering newline character into a string

本文关键字:换行符 输入 字符串      更新时间:2023-10-16

在这两种情况下,我将n作为用户输入(在字符串中(输入,并且我n作为程序本身字符串的一部分(没有用户输入(:

string str1;
cin>>str1;           //case 1 - n entered as the part of the input
string str="hellon"; //case 2

在情况1中,n被视为输入字符串的一部分,而在情况2中,它被视为换行符 - 为什么?

转义序列是编译器时仅的文本。当编译器在字符串中遇到 \ 时,它会在之后查找模式以确定值。 从控制台读入时,一次读取一个字符的输入。 大多数调试器会将输入的字符串显示为"hello\n",或分解为单个字符:

'h','e','l','l','o','','n' 

在代码中手动设置字符串(如string str = "hellon"(时,编译器会识别转义序列并将其视为单个字符 ''。这允许程序员使用速记来打印字符,而无需打印其 ASCII 值。 另一方面,用户有一个回车按钮来方便地添加换行符,程序通常面向具有人类可读的界面(即,如果我键入"\"字符,如果我没有计算机经验,我希望它是一个"\"(

关于 cin 的另一个注意事项是,它使用换行符(其他空格(来区分输入类型。函数 getline 用于字符串输入以解决此问题,但流提取是从空格到空格完成的,因此它与所有数据类型(int、float、char 等(一致