日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

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

發布時間:2024/9/27 c/c++ 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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没有阻塞等待输入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。