Ifstream无法在qtcreator中打开文件

时间:2016-11-29 06:31:11

标签: c++ qt ifstream

请查看以下程序和输出。

的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 \

1 个答案:

答案 0 :(得分:0)

trail.openfile("input.in");

这会尝试查找相对于&#34;当前工作目录的文件&#34;申请程序默认情况下,Qt Creator将应用程序进程的工作目录设置为创建应用程序的目录(或者在Windows上,它可以是上一级)。

查看“项目”模式中的工作目录&gt;运行项目的设置,并确保它指向输入文件所在的位置。另请参阅Qt Creator documentation