【问题标题】:Where to place file in order to read?在哪里放置文件以便阅读?
【发布时间】:2010-06-22 23:24:30
【问题描述】:

您好,我应该将我尝试使用 fstream 读取的文本文件放在哪里?在本教程中,http://www.gamedev.net/reference/articles/article1127.asp,他们说

ifstream fin("input.txt");

“input.txt”的位置在哪里?在我尝试通过执行此“C:\Users\XXXXXXX\Documents\test.in”来指向文件的路径之前。然而,这似乎不起作用,Incorrect data input with fstream

我正在使用代码块。

提前致谢。

【问题讨论】:

  • 如果在文字字符串中使用 Microsoft 路径分隔符,则必须使用另一个反斜杠对其进行转义。所以:"C:\\Users\\XXXXXXX\\Documents\\test.in" 会更好一点。

标签: c++ input fstream


【解决方案1】:

input.txt 应该在工作目录中。通常工作目录是包含可执行文件的目录。在 Visual Studio 的情况下,在调试器中运行时的工作目录可以在调试选项中设置。

【讨论】:

    【解决方案2】:

    这取决于你的系统,但在大多数情况下,如果你用相对路径打开一个文件,它会找到相对于进程工作目录的文件(即相对于你启动程序的位置) )。

    因此,如果您只是尝试打开“input.txt”,它可能会在您启动程序的目录中查找。

    【讨论】:

      【解决方案3】:

      我仍然会说指定路径而不是依赖当前的工作目录(尽管由于某种原因它以前不适合你)。

      试试看: ifstream fin("C:/MyDir1/MyDir2/input.txt");

      或者说: ifstream fin("C:\MyDir1\MyDir2\input.txt");

      还要确保您的程序(运行它的帐户)至少对该文件具有读取权限。

      【讨论】:

        【解决方案4】:

        如果您仍然对 Code::Blocks 感兴趣,您需要修改 Target Properties,转到 Project -> Properties -> Build targets 并更改项目的 debug/release 文件夹的 Executing Working Dir

        【讨论】:

          猜你喜欢
          • 2020-09-22
          • 2021-10-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-28
          • 1970-01-01
          • 2019-07-01
          相关资源
          最近更新 更多