【发布时间】:2017-02-26 11:31:50
【问题描述】:
我遇到问题,尝试使用 QTextStream 读取或写入控制台数据时遇到访问冲突:
ApplicationStub.exe 中 0x77BD1D76 (ntdll.dll) 的第一次机会异常:0xC0000005:
访问冲突写入位置 0x00000014。ApplicationStub.exe 中 0x77BD1D76 (ntdll.dll) 处的未处理异常: 0xC0000005:
访问冲突写入位置0x00000014。
我的程序很简单:
#include <QtWidgets/QApplication>
#include <iostream>
#include <QTextStream>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
///////////////////////////////////////////////CONSOLE
QTextStream out(stdout);
out << "Please enter login username and password\n";
out.flush();
QTextStream in(stdin);
QString line;
in >> line;
return app.exec();
}
可能是什么问题? 谢谢
编辑 1 我也试过 QCoreApplication 我正在使用 Visual Studio 2013、Windows 7
我的 .pro 文件中还有:
QT += console
QT += core gui
我有 gui 的 gui 选项,我认为这应该没问题。
【问题讨论】:
-
它适用于我(在 linux 下),但我将
QApplication更改为QCoreApplication。您是否将项目定义为控制台应用程序?您应该添加 .pro 文件。
标签: c++ qt console-application qtextstream