繁体   English   中英

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

[英]Read a file from current directory using ifstream and QtCreator

我正在使用Qt Creator进行没有Qt库的普通C ++项目。

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

fopen("text.txt", "r");

要么

ifstream fin;
fin.open("text.txt");

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

谁知道为什么会这样? 如何在不使用Qt库的情况下引用当前目录?

您可以使用QDir::current()来检查工作目录是否是您想要的。 没有Qt,您可以使用TomA链接的解决方案

运行设置允许您配置它以从IDE运行应用程序。

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM