在字符串中输入换行符
entering newline character into a string
在这两种情况下,我将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 等(一致
相关文章:
- 防止控制台在通道字符(在 c++ 中)中输入空格(即空格、制表符和换行符)
- 如何在出现换行符之前将多个整数作为输入?
- 在字符串中输入换行符
- 使用 fgets() 从键盘读取时从以前的输入读取换行符
- 使用 getline 忽略用户输入中的制表符和换行符
- 如何在C++中检测字符串输入中的换行符
- 在C++中输入时未检测到换行符
- 如果在循环中给cin一个意外的输入,则会自动输入C++换行符作为输入
- 读取整数对,直到文本输入文件中的换行符
- 输入整数直到 C/C++ 中的换行符
- 如何将换行符按钮更改为空格以完成从输入流的读取
- 你能定制一个输入的换行符(C++)吗
- C++清除输入缓冲区(最后没有换行符)
- 使用 getchar() 输入字符的最有效方法,就像 cin 中没有换行符和空格字符一样C++
- 为什么 fstream::tellg() 返回值会因输入文本文件中的换行符数而增大,当文件针对 Windows (r
- 清除包括换行符在内的输入缓冲区
- C++丢弃输入缓冲区问题中剩下的换行符
- c++getline似乎无法识别通过管道传输到stdin的输入中的换行符
- "No newline at end of file"警告,即使在输入换行符后
- 如何在c++中输入换行符