QtCreator下使用c++标准输入cin输出cout没有阻塞等待输入
引言
在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没有阻塞等待输入相关推荐
- c语言程序标准输入和输出语句,C语言程序设计--输入与输出
C语言的输入 所有的输入都是依赖于C语言函数进行的,这个函数是C语言标准库自带的,定义在头文件里面,所以,要想使用与输入相关的函数,都需要包含这个头文件 #include 输入函数gets 这是一个获 ...
- 【C++札记】标准输入与输出
概述 C语言中使用函数scanf和printf作为标准输入和输出,在C++中引入了类cin和cout进行标准输入和输出,所需头文件为<iostream>,命名空间是std.这里所说的标准输 ...
- cin、cout、cerr、clog用法区别及其在VS环境下的重定向
今天学习C++,发现C++中的输出流除了常用的cout,还有cerr和clog两种输出流对象,由于之前没有遇到过,所以特地查了一下用法,记录一下. 1. cin.cout.cerr.clog ...
- C++输入与输出—cout和cin的用法
C++输入与输出-cout和cin的用法 目录(?)[-] 一输入流与输出流的基本操作 二在输入流与输出流中使用控制符 输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出提供 ...
- c++基础学习:输入cin、输出cout、换行endl
输入cin cin >> c >> a >> e; cin是对象,不是关键字也不是函数(课程中讲解的) 输出cout cout << c << ...
- 重载输入cin和输出cout运算符
1.C++中重载输入cin和输出cout运算符 在C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能 ...
- linux输出文件没有找到,Linux环境下标准输入、输出、错误信息详解
Linux环境下标准输入.输出.错误信息详解 下面我们介绍在Linux环境下标准输入.输出.错误设备.标准输入设备代号为0, 用来显示输入信息,标准输出设备代号为1,用来显示正常信息,标准错误设备代号 ...
- C++ 语言 std::cin - std::cout - std::cerr - std::clog
C++ 语言 std::cin - std::cout - std::cerr - std::clog std::cin - 标准输入流 std::cout - 标准输出流 std::cerr - 标 ...
- 取代C语言的标准输入输出:cin 和 cout【C++标准输入输出】
C 和 C++ 标准输入输出的区别 cin 标准输入 C++解决C cout 标准输入 C 和 C++ 标准输入输出的区别 cin 取代 scanf cout 取代 printf printf 和 s ...
最新文章
- Unterminated array at character 6 of xxx
- 上海day2--两年前最烧脑的环境变量
- PetShop之表示层设计(转载)
- 考虑用静态工厂方法替代构造器
- Storm【实践系列-如何写一个爬虫】 - ParserBolt
- 怎样学好C++ ----高手的话
- python renamer模块_Python - 批量文件重命名
- 花器官身份基因与靶基因间的调控进化情况
- latex 生成中文目录乱码问题解决
- HTML fieldset控件
- 计算机维修法宝,计算机的三大法宝
- java 实体类返回大写_解决springboot bean中大写的字段返回变成小写的问题
- svn 存储方式BDB与FSFS比较
- paip.提升用户体验---论文本编辑器的色彩方案
- CSS基础(挺详细版)
- 一键查询全部单号物流是否签收
- JavaScript调用Linux系统命令
- 国内有哪些顶级技术团队的博客值得推荐?
- 生物信息学基础知识Day4
- 光学定位与追踪技术_光学跟踪技术定位精准罗技M90鼠标仅32