请查看以下程序和输出。
的main.cpp
#include<iostream>
#include "mesh.h"
using namespace std;
int main()
{
mesh trail;
trail.openfile("input.in");
}
openfile 功能:
void mesh::openfile(std::string szFile)
{
m_File.open(szFile);
if(!m_File) std::cout<< "couldn't open "<<szFile;
}
m_File是网格类的私有ifstream对象。
我检查了输入文件名,并使用被调用函数中的字符串参数进行了验证,并检查了'input.in'文件的权限。我在那里找不到错误。那么为什么Qt创建者给我以下输出:
couldn't open input.in
我的.pro文件是:
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp\
node.cpp \
element.cpp \
mesh.cpp
HEADERS += \
node.h \
element.h \
mesh.h
DISTFILES += \
input.in \
答案 0 :(得分:0)
trail.openfile("input.in");
这会尝试查找相对于&#34;当前工作目录的文件&#34;申请程序默认情况下,Qt Creator将应用程序进程的工作目录设置为创建应用程序的目录(或者在Windows上,它可以是上一级)。
查看“项目”模式中的工作目录&gt;运行项目的设置,并确保它指向输入文件所在的位置。另请参阅Qt Creator documentation