1

我正在 Pelles C 中处理一个 C 项目,我希望在我的项目文件夹的子目录中打开 csv 文件。现在我有我的文件的绝对路径,如下所示:

fopen("F:my/path/projectfolder/datafolder/data.csv", "r");

这没问题。但是当我移动我的项目文件夹(比如从我的 F:/ USB 驱动器到我的 C:/ 硬盘驱动器)时,我希望让我的代码适应。我想知道是否有一种方法可以在每次移动项目文件夹时都不必更改绝对文件路径。

基本上我想知道如何像在linux(“./datafolder”)中那样说“currentdirectory/datafolder”。类似于以下几行的内容,我已经测试过但不起作用:

fopen("./datafolder/data.csv","r");

或者

fopen("../datafolder/data.csv","r");

想法?

4

1 回答 1

3

这是正确的语法,除了它基于您当前的工作目录。

  • 要读取当前工作目录,您可以使用:getcwd()
  • 要更改当前工作目录,您可以使用:chdir()
于 2014-06-05T17:55:00.057 回答