首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ifstream和QtCreator从当前目录读取文件

使用ifstream和QtCreator从当前目录读取文件
EN

Stack Overflow用户
提问于 2012-01-16 22:37:30
回答 3查看 6K关注 0票数 4

我正在为一个没有Qt库的普通C++项目使用Qt Creator。

我正在尝试打开一个这样的文件:

代码语言:javascript
运行
复制
fopen("text.txt", "r");

代码语言:javascript
运行
复制
ifstream fin;
fin.open("text.txt");

但它不像在Visual Studio中那样只使用文件名,我必须传递它的完整路径才能打开文件...

有人知道这是为什么吗?如果不使用Qt库,我如何引用当前目录?

EN

回答 3

Stack Overflow用户

发布于 2012-01-16 22:47:46

您可以使用QDir::current()检查工作目录是否如您所希望的那样。没有Qt,你可以使用the solution TomA linked to

run settings允许您将其配置为从集成开发环境中运行应用程序。

票数 2
EN

Stack Overflow用户

发布于 2012-01-16 23:31:08

它会的;您的代码很好。但正如其他答案所暗示的那样,您需要确保在您认为自己所在的目录中运行它。

在左侧面板中,选择"Projects“,然后(从顶部的选项卡中)选择"Run Settings”,它将在标记为"Working directory“的字段中显示运行可执行文件的位置。我认为在默认情况下,它是在release和debug文件夹之上的目录。

票数 2
EN

Stack Overflow用户

发布于 2012-01-16 22:58:43

Visual Studio和Qt Creator之间的区别可能是

每个

  1. 都在项目结构的不同子目录中启动程序二进制文件。
  2. One会将text.txt文件作为项目的一部分复制到与二进制文件相同的输出目录中,而另一个则不会。

尝试使用this获取当前目录,然后查看它是否实际包含该文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8881514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档