c++-mac系统下cin 输入出错的问题

问题描述

mac系统下cin 输入出错的问题

在mac下用Xcode 5.0.2练习c++。碰到一个问题,困扰我一整天了。代码如下:

#include
#include
using namespace std;

int main()
{
double x;
string dummy;
while (true) {
cin>>x;
if (cin.fail()) {
cout<< "fail, and dummy is ";
cin.clear();
cin >> dummy;
cout << dummy << endl;
} else {
cout << "input number is " << x << endl;
}
}
return 0;
}

输入 a
输出是
fail, and dummy is
从结果来看,cin好像把a吞掉了,没有被读进dummy中,但是我查资料发现cin如果读取的类型不匹配,是会存在缓冲区里等待下次读取的,也就是说,输入 a,输出应该是
fail, and dummy is a

类似的代码在 vs2012下就是正确的。
或者,输入字母g,结果就正确了,输出是fail, and dummy is g,蛋疼的我试了下,a到f都不正确,g正确。好奇怪!
或者把double类型改为int,则输入a,结果也正确。

我在命令行下用clang++编译,问题依旧,用g++编译,问题依旧。

为什么会这样呢?是不是mac系统的问题?非常希望了解的前辈解答一下。

解决方案

cin.clear();
每次这一句后面加上cin.sync();

时间: 2024-08-03 03:05:42

c++-mac系统下cin 输入出错的问题的相关文章

mac系统下gcc出现Segmentation fault: 11错误

问题描述 mac系统下gcc出现Segmentation fault: 11错误 如题.gcc版本为4.9.1 不管输入什么都是Segmentation fault: 11 代码没有问题用的最简单的输出也不行 gcc -version命令也是这个错误 有尝试过添加环境变量貌似还是不行 解决方案 贴出你的代码来.如果只写int main() {},这个也报错?

mac系统下ch340驱动问题

问题描述 mac系统下ch340驱动问题 请问最新的苹果系统(OS X 10+)还有可用的ch340驱动吗? 因为买了一个Arduino面包板,必须要用ch340的驱动. 需要如何设置,才可以让苹果系统加载ch340啊..求解! 感谢! 解决方案 建议你再买一部PC,即便是很便宜的PC. 解决方案二: 在网上找找,一定有的,用很多大侠,建义你买 PC的人,还是叫他用过 MAC 才说吧,MAC 超好用,用了以后 就知道windows简单垃圾中垃圾

苹果mac系统下安装windows7系统详细教程

苹果的mac系统在很多方面都没有windows 7要方便,装软件也好,使用也好,还是windows更加适用,在这里我们就来看看如何在mac系统下安装windows 7系统吧! 在开始之前你需要准备: - Windows 7 Installation DVD - Mac OS X Installation DVD或Boot Camp 2.1 on CD/DVD(Boot Camp是必须的) 步骤1 在Mac系统下打开Finder 步骤 2 找到Applications(应用程序)这一项 . 步骤

Mac系统下如何快速关闭safari标签?

  Mac系统下如何快速关闭safari标签?Mac的Safari十分好用,但是需要点学习时间,我们经常打开页面突然就会打开很多的网页,Mac系统下会将你的页面全部做好分类,可以极大的方便你整理网页页面,但是,你还需要点点技巧,下面小编教大家Mac系统下如何快速关闭Safari浏览器的标签. 1.关闭当前的网页:command+W,或者鼠标点击页面上方的窗口条 2.关闭除当前页面外的所有标签:点击关闭其他标签 3.选择性关闭同一个网站的所有标签:在触摸板上两指向中滑动 4.关闭所有的标签和浏览器

mac系统下屏蔽youku广告的方法

  mac系统下屏蔽youku广告的方法: 1.在/etc/███s文件内添加以下内容: 127.0.0.1 atm.youku.com 127.0.0.1 Fvid.atm.youku.com 127.0.0.1 html.atm.youku.com 127.0.0.1 valb.atm.youku.com 127.0.0.1 valf.atm.youku.com 127.0.0.1 valo.atm.youku.com 127.0.0.1 valp.atm.youku.com 127.0.0

Mac系统下如何将PDF转换成TXT文本?

  在Mac系统下我们怎么将PDF文件转换为txt格式的文本文档呢?其实在Mac系统中自带的Automator应用程序就能帮我们快速实现将PDF转换为txt文本,下面小编给您带来详细的操作教程: 1.首先打开「应用程序」-「其他」-「Automator」 2.接着弹出的窗口中点击「完成」 3.点击DOCK栏里的Automator应用 4.选取「工作流程」, 5.操作下方「 资料库」选PDF-「 提取PDF文本」,之后将「 提取PDF文本」拖入到右栏空白处,如图 6.选择文件存储,注意文档格式选「

Mac系统下怎么测网速

  苹果Mac系统下怎么测网速?很多人不晓得怎么在电脑中测网速,尤其是在Mac电脑中测试网速的大小,其实方法非常简单,我们只需要借助腾讯电脑管家Mac版这一软件就可以方便快捷地测试当前网速情况,下面PC6小编简单介绍下操作步骤. 1.首先我们可以下载最新版的腾讯电脑管家Mac版,并安装.    2.安装完成后在您的mac电脑中启动mac版本的腾讯电脑管家,如图所示.   3.在腾讯电脑管家界面中点击左侧的"百宝箱"选项卡进入百宝箱界面,如图所示.然后选择"网络测试"

Mac 系统下安装 IntelliJ IDEA

本篇内容为大家提供的是IntelliJ IDEA 使用教程中的Mac 系统下安装 IntelliJ IDEA,IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.Ant.JUnit.CVS整合.代码审查. 创新的GUI设计等方面的功能可以说是超常的. .感兴趣的同学可以参考学习下,具体内容如下: 系统要求 系统支持:Mac OS X 10.5 以上 JDK 版本:Apple Jav

go语言-请问MAC系统下的GO语言的开发IDE一般用什么? XCode能用来开发不

问题描述 请问MAC系统下的GO语言的开发IDE一般用什么? XCode能用来开发不 请问MAC系统下的GO语言的开发IDE一般用什么? XCode能用来开发不 解决方案 sublime text或者IDEA