【问题标题】:Location of input file while reading file in C++?在 C++ 中读取文件时输入文件的位置?
【发布时间】:2013-08-27 19:02:57
【问题描述】:

每当我使用如下所述的命令时,文件(在本例中为 dictionary.txt)在我从中获取输入的计算机中的位置是什么?

int main(){
string line;
fstream file("dictionary.txt");
getline(file, line);}

【问题讨论】:

  • 什么操作系统?
  • 我在 Windows 8 下编译

标签: c++ file-io


【解决方案1】:

通常,它的位置是您打开文件时的当前目录。

但是,ISO 标准本身并不强制执行此操作,而是由实施决定。它控制如何解释字符串的内容以定位文件。

【讨论】:

  • 是的。它希望文件位于打开文件时目录所在的位置。谢谢。
【解决方案2】:

据我所知,这取决于您运行的系统。

“关于其格式和有效性的细节取决于库的实现和运行环境。”

通常,在 Windows 上,它首先检查相对于当前目录(通常是 exec 的文件夹,但可以通过特定函数更改)或者当您专门编写完整路径时绝对检查(即:c:/ ...)。

编辑:查看此链接了解更多详情:How to use fstream objects with relative path?

【讨论】:

    【解决方案3】:

    这通常与已编译的二进制文件位于同一文件夹。不过,它可能会因编译后的二进制文件启动的上下文而有所不同。

    【讨论】:

      【解决方案4】:

      您要打开的文本文件应与整个 C++ 程序存在于同一文件夹中,除非您在相关帖子中指定路径:Open file by its full path in C++

      【讨论】:

        猜你喜欢
        • 2023-04-04
        • 1970-01-01
        • 2017-01-25
        • 2021-05-07
        • 1970-01-01
        • 1970-01-01
        • 2014-09-26
        • 1970-01-01
        • 2019-03-18
        相关资源
        最近更新 更多