引言

在QtCreator中编写c++程序,其中需要从控制台输入,就用了c++的cout和cin,本应该等待控制台输入文本,但是却没有。下面是具体的案例。

案例

本文基于QtCreator创建的qt控制台输出程序,创建时选择如下图所示的选项,创建控制台输出应用程序。

其中main.cpp文件中的代码如下,其它采用创建项目时自动生成的代码,未做修改。
main.cpp

#include <QCoreApplication>
#include <iostream>
#include <QDebug>
//using namespace std;int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);//qt下c++的标准输输出无法等待输入——解决方法:项目的运行环境中设置运行在终端char name[50];std::cout << "请输入您的名称: ";std::cin >> name;std::cout << "您的名称是: " << name << std::endl;int num1, num2;std::cout<<"请输入两个数:"<<std::endl;std::cin>>num1>>num2;std::cout<<"num1="<<num1<<"num2="<<num2<<std::endl;return a.exec();
}

上述代码要想在控制台输入文本,需要在项目的运行环境中设置在终端运行。即下图所示:

勾选运行在终端,程序运行的时候会自动启动终端,按照cout中的文本提示信息,输入文本便可。

回顾

在上述问题的解决过程中也有说是c++标准输入输出与qt的QTextStream相冲突的,需要将c++标准输入输出的命名空间std声明注释掉,起初按照注释掉std声明并没有解决,而是设置运行环境在终端运行可以解决c++标准输入无法在qt中从键盘输入的问题。
上面代码经过测试,引入std名字空间和不引入std名字空间在运行环境设置为run in terminal之后都可以从键盘输入文本。

QtCreator下使用c++标准输入cin输出cout没有阻塞等待输入相关推荐

  1. c语言程序标准输入和输出语句,C语言程序设计--输入与输出

    C语言的输入 所有的输入都是依赖于C语言函数进行的,这个函数是C语言标准库自带的,定义在头文件里面,所以,要想使用与输入相关的函数,都需要包含这个头文件 #include 输入函数gets 这是一个获 ...

  2. 【C++札记】标准输入与输出

    概述 C语言中使用函数scanf和printf作为标准输入和输出,在C++中引入了类cin和cout进行标准输入和输出,所需头文件为<iostream>,命名空间是std.这里所说的标准输 ...

  3. cin、cout、cerr、clog用法区别及其在VS环境下的重定向

    今天学习C++,发现C++中的输出流除了常用的cout,还有cerr和clog两种输出流对象,由于之前没有遇到过,所以特地查了一下用法,记录一下. 1.      cin.cout.cerr.clog ...

  4. C++输入与输出—cout和cin的用法

    C++输入与输出-cout和cin的用法 目录(?)[-] 一输入流与输出流的基本操作 二在输入流与输出流中使用控制符 输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出提供 ...

  5. c++基础学习:输入cin、输出cout、换行endl

    输入cin cin >> c >> a >> e; cin是对象,不是关键字也不是函数(课程中讲解的) 输出cout cout << c << ...

  6. 重载输入cin和输出cout运算符

    1.C++中重载输入cin和输出cout运算符 在C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能 ...

  7. linux输出文件没有找到,Linux环境下标准输入、输出、错误信息详解

    Linux环境下标准输入.输出.错误信息详解 下面我们介绍在Linux环境下标准输入.输出.错误设备.标准输入设备代号为0, 用来显示输入信息,标准输出设备代号为1,用来显示正常信息,标准错误设备代号 ...

  8. C++ 语言 std::cin - std::cout - std::cerr - std::clog

    C++ 语言 std::cin - std::cout - std::cerr - std::clog std::cin - 标准输入流 std::cout - 标准输出流 std::cerr - 标 ...

  9. 取代C语言的标准输入输出:cin 和 cout【C++标准输入输出】

    C 和 C++ 标准输入输出的区别 cin 标准输入 C++解决C cout 标准输入 C 和 C++ 标准输入输出的区别 cin 取代 scanf cout 取代 printf printf 和 s ...

最新文章

  1. Unterminated array at character 6 of xxx
  2. 上海day2--两年前最烧脑的环境变量
  3. PetShop之表示层设计(转载)
  4. 考虑用静态工厂方法替代构造器
  5. Storm【实践系列-如何写一个爬虫】 - ParserBolt
  6. 怎样学好C++ ----高手的话
  7. python renamer模块_Python - 批量文件重命名
  8. 花器官身份基因与靶基因间的调控进化情况
  9. latex 生成中文目录乱码问题解决
  10. HTML fieldset控件
  11. 计算机维修法宝,计算机的三大法宝
  12. java 实体类返回大写_解决springboot bean中大写的字段返回变成小写的问题
  13. svn 存储方式BDB与FSFS比较
  14. paip.提升用户体验---论文本编辑器的色彩方案
  15. CSS基础(挺详细版)
  16. 一键查询全部单号物流是否签收
  17. JavaScript调用Linux系统命令
  18. 国内有哪些顶级技术团队的博客值得推荐?
  19. 生物信息学基础知识Day4
  20. 光学定位与追踪技术_光学跟踪技术定位精准罗技M90鼠标仅32

热门文章

  1. 阿里云ECI如何6秒扩容3000容器实例?
  2. 从0开始:500行代码实现 LSM 数据库
  3. 2019阿里云开年Hi购季满返活动火热报名中!
  4. 服务化改造实践(三) | Dubbo + Zipkin
  5. 黑科技揭秘:眼科大夫如何应用5G+8K完成远程会诊?
  6. [Phoenix] 十、全局索引设计实践
  7. MaxCompute使用常见问题总结
  8. iOS Mach异常和signal信号
  9. iOS KVO crash 自修复技术实现与原理解析
  10. 走进英特尔中国研究院探索创新日:发布最新科研成果与创新策略