C++问题!cin能读取回车和空格字符吗?

如题!cin能读取回车和空格字符吗?

不能,cin遇到回车与空格结束读取,例如下面的代码:

string str;

cin >> str;

cout << str;

输入:abcdefg hijk

输出结果将会是:abcdefg

空格以后的将会被丢弃

扩展资料:

cin是C++编程语言互换流中的标准输入流,需要iostream.h支持,即开始的时候,要有#include <iostream.h>(新版本编译器为#include <iostream>)读为 "see in",音标 "/si:ɪn/"。

cin代表标准输入设备,使用提取运算符 ">>" 从设备键盘取得数据,送到输入流对象cin中,然后送到内存。使用cin可以获得多个从键盘的输入值,其具体使用格式如下:

cin >> 表达式1 >>表达式2...>> 表达式n。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-07-07
不可以的,需要用cin.getchar() 才可以。直接cin>>是不行的。
值得注意的是,cin读取字符直至再次遇到空白符,读取终止。举例如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string curr_str,pre_str="";
bool is_same=false;
while(cin>>curr_str){
if(curr_str==pre_str){
is_same=true;
break;
}
pre_str=curr_str;
}
if(is_same)
cout<<"The same string is:"<<curr_str<<endl;
else
cout<<"No same string."<<endl;
return 0;
}
第2个回答  推荐于2017-07-31
不能,cin遇到回车与空格结束读取,例如:
string str;
cin >> str;
cout << str;
输入:abcdefg hijk
输出结果将会是:abcdefg
空格以后的将会被丢弃本回答被网友采纳
第3个回答  2013-04-27
对,用cin.get();直接cin>>不行。
第4个回答  2017-06-21
不能.
cin.getchar() 可以

C++问题!cin能读取回车和空格字符吗?
不能,cin遇到回车与空格结束读取,例如下面的代码:string str;cin >> str;cout << str;输入:abcdefg hijk 输出结果将会是:abcdefg 空格以后的将会被丢弃

c++中cin,cin.get(
在C++中,cin>>通常只能读取一个单独的单词,这对于处理包含空格的字符串时会遇到问题。为了解决这个问题,cin.get()函数显得更为实用。它允许读取指定长度的字符串,包括空格和特殊字符。以下是两种使用cin.get()的示例:首先,直接使用cin.get(name,size)会读取到行尾,但会保留换行符,导致第二次读...

C++中的字符串输入输出函数详解
getchar则可以自动读取stdin中的字符,清除缓冲区,尤其在处理用户输入时很有用。判断输入结束的方法包括检测空格或通过while循环读取直到遇到EOF。在实际例子中,如算法题的输入处理,getchar的使用至关重要,避免因回车问题导致输入解析错误。在使用cin.get时,要小心回车字符的影响,输入“zhd”直接回车后...

C++中cin.get()的具体用法
cin.get()是保留回车在输入流队列中的,而cin是丢弃回车的。ch=cin.get();是第一次输入,因为是刚开始,所以没有回车保留在输入流的队列中。这时你输入一个字符,然后回车。get()收到回车或空格或制表符就停止输入了、此时,输入流队列中留下一个回车。num=cin.get();这是第二次输入。因为第...

C++读入字符串(cin,get,getline)
1、scanf 读取时遇到空格就停止读取 2、cin cin空字符(包括回车符,制表符,空格,换行符)都会当成一个输入的结束 3、getline 读取时遇到换行符结束 NOTE: 在默认情况下,getline()遇到换行符使停止读入,所以必须保证在调用它之前缓冲区没有任何多余的输入。如:输入abc后,换行,再想输入字符串是不行...

c++中cin,cin.get()的区别
楼主你说的“cin程序就无法执行”,那是因为cin会自动帮你忽略空格,回车等不可见字符,你判断c等不等于回车,这是永远都不可能相等的,因为cin把回车吃掉了。cin.get()函数的功能就是getchar()的功能,能一个一个获取字符,包括不可见字符,这两者只能用来获取字符。scanf()也可以用来都如不可见字符...

C++ 中如何识别回车键
用cin的>>操作是无法识别回车键的,要在C++中识别回车键,有两种方法可以做到。用cin.get()成员函数。比如char c = cin.get();这样可以读取到任意字符,再判断 if(c == '\\n')即可判断是否为回车键。用C语言的库函数getchar();getchar可以得到与1中cin.get()同样的效果,使用方法也类似。char...

C++如何读取带空格字符串?这5种方法教会你
cin >> a;cout << a;} 输入示例:`abcd`,回车,输出结果为`abcd`。缺点是仅能输入无空格字符串,若有空格,只会输出空格前的字符。然后,`gets()`函数能够无限读取直至回车结束,但在C++中使用此函数可能导致运行错误。示例代码如下:cpp include include using namespace std;int main() { cha...

c++cin是什么意思
cin是iostream类的对象,它是从标准输入设备(键盘)获取数据,程序中的变量通过流提取符">>"从流中提取数据。流提取符">>"从流中提取数据时跳过输入流中的空格、tab键、换行符等空白字符。只有在输入完数据再按回车键后,该行数据才被送入键盘缓存区,形成输入流,提取运算符">>"才能从中提取数据...

c++中cin.get可以读取回车吗
cin.get() 可以读一个字符, int get(); istream& get (char& c);理论上应当可以读取回车。但c++通常用 '\\n' 作为回车换行,所以读进来的是ASCII 码值 10, 也就是 '\\n'。include<iostream> using namespace std;int main(){ char c1,c2;c1=cin.get();c2=cin.get();cout<<"...

相似回答