【问题标题】:C language equivalent to ./folder?C语言等价于./folder?
【发布时间】:2014-06-05 17:51:24
【问题描述】:

我正在 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");

想法?

【问题讨论】:

  • 仅供参考。 ... 不是 Linux 特定的

标签: c fopen subdirectory pelles-c


【解决方案1】:

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

  • 要读取当前工作目录,您可以使用:getcwd()
  • 要更改当前工作目录,您可以使用:chdir()

【讨论】:

  • 这很有意义。但是,我遇到了 Pelles C 和那个库(unistd.h)的问题。我收到以下错误。我试着用谷歌搜索了一下,但我似乎找不到在这里做什么。 <unistd.h> requires -Go compiler option!
  • @Madi_FTW:我无法为您提供帮助。我以前从未使用过 Pelles C。您可以发布一个单独的问题,询问如何在您的特定编译器中使用 getcwd()chdir()
  • 感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
  • 1970-01-01
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-19
相关资源
最近更新 更多