问题标签 [getcwd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
80861 浏览

c++ - 是否有与 getcwd 等效的 C++?

我通过以下方式看到 C 的 getcwd:man 3 cwd

我怀疑 C++ 有一个类似的,可以返回一个 std::string 。

如果是这样,它叫什么,我在哪里可以找到它的文档?

谢谢!

0 投票
5 回答
900 浏览

c - 我声明指针的顺序在 C 中真的很重要吗?getcwd() 问题

在 Solaris 5.8 机器上,我有以下代码:

[非工作代码]

在这台 unix 机器上,上述方法不起作用,并且在尝试运行程序时出现分段错误。仅当我之前声明dir 时才 buf有效:

[工作代码]

当使用另一种风格的 Unix 时,例如 Mac OS X,我没有得到任何关于如何编写代码的似乎非常严格的规则。谁能解释上面的例子发生了什么?谢谢!

0 投票
2 回答
729 浏览

php - 根据 ftp 帐户权限获取当前位置

我正在尝试制作一个小脚本,使用 ftp 连接更改特定文件的权限。我的问题是绝对路径。我有一个位于脚本目录 (/script/) 上的 ftp 帐户。如果我使用 getcwd,它将返回整个路径(/home/user/public_html/script),但我只需要完整路径和当前路径之间的差异(getcwd 路径:/home/user/public_html/script/ ftp 登陆路径:/script)。那么,如何使用 getcwd 获取 ftp 帐户的当前目录?例如,如果用户在 public_html 中登陆,则脚本的路径将为 /script/,或者如果他在 /user 中登陆,则路径将为 /public_html/script。谢谢

0 投票
3 回答
24707 浏览

c++ - 获取当前目录的跨平台方式是什么?

我需要一种跨平台的方式来获取当前的工作目录(是的,getcwd 做了我想要的)。我认为这可能会奏效:

我得到了这个阅读:

应该没有内存泄漏,它也应该在 Mac 上工作,对吗?

更新:我担心这里仍然有问题(我试图避免创建具有确定长度的 char 数组,因为没有适当的方法为 getcwd 获得合适的长度):

0 投票
7 回答
11548 浏览

c++ - 如何从 C 的“getcwd”函数返回 std::string

很抱歉一直在强调这一点,但我正在努力学习:)。这有什么好处吗?是的,我关心内存泄漏。我找不到一种像样的方式来预分配 char*,因为似乎根本就没有跨平台的方式。

UPDATE2:没有 Boost 或 Qt,最常见的东西可能会变得冗长(见接受的答案)

0 投票
2 回答
7999 浏览

c - 如果 getcwd() 和 getenv("PWD") 不匹配怎么办?

我有一个getcwd()用于获取当前工作目录的构建系统工具。这很好,只是有时人们的路径中有空格,而构建系统不支持这一点。你会认为你可以只做一个符号链接:

然后快乐起来。但对我来说不幸的是,getcwd()解决了所有的符号链接。我尝试使用getenv("PWD"),但它指向的路径与我返回的路径不同getcwd()。我认为,我责怪make -C没有更新环境变量。现在,getcwd()给我一条这样的路径:

getenv("PWD")给我:

那么 - 是否有任何类似getcwd()的功能不能解决符号链接?

编辑:

我变了

然后getenv("PWD")工作..如果没有其他解决方案,我可以使用它。

0 投票
3 回答
1039 浏览

php - 除了 chdir() 和 chroot() 之外,还有什么可以改变 php Windows 中的目录?(简单测试包含 Windows 中的文件错误)

(对不起,如果标题不好。我实际上是在尝试完成两件事 - 找出如何在 PHP 中更改当前目录,并修复在 WAMP 上运行的 Simpletest 中的错误。)

我在 EasyPHP(WAMP 变体)上的 Windows 7 本地计算机上运行 SimpleTest(simpletest.org)。

当我运行测试时,根据 getcwd(),目录从本地脚本目录更改回:C:\Program Files (x86)\EasyPHP\apache。

我创建了几个简短的脚本来检查 getcwd() 输出。它们按预期返回当前脚本路径:C:\Users\Burton\Desktop\Sites\dbmover。脚本:

服务器路径/getcwd.php:<? echo getcwd(); require_once('tests/getcwd.php) ?>

服务器路径/测试/getcwd.php:<? echo getcwd(); ?>

两者都返回当前路径:C:\Users\Burton\Desktop\Sites\dbmover

我通过 Simpletest 源进行了搜索,以检查 chdir() 和 chroot() 的使用——这是唯一的方法。Simpletest 不使用 chdir();

还有什么可以改变路径?

对于 Windows 中使用的 Simpletest,这种相对路径问题显然很常见。 stackoverflow 上有这张海报,其他地方的这张海报也有。

有些 认为这个问题是正常的,但我认为这是一个错误。

我自己通过使用 dirname( __FILE__) 来解决它,但我宁愿修复它以使其正常工作。

0 投票
1 回答
454 浏览

dll - 在 .dll 中放置函数会导致调试断言失败错误

各位会员好,

我今天遇到了一个非常奇怪的问题,我不确定是什么原因造成的。这是我用来获取当前工作目录的函数:

这个函数作为一个独立的函数工作得很好。但是,如果我将其声明为类中的静态函数:

和一个.dll,当我尝试做时,我得到“调试断言失败错误”

如果我改为写:

它工作正常。我对自己做错了什么感到完全困惑。有任何想法吗?

0 投票
1 回答
386 浏览

c++ - 为什么 system() 抱怨 cwd 未知?

我正在使用 system() 从我的应用程序运行一些 Unix 命令,代码如下:

但是,虽然 rmResult 为零并且 rm 有效,但我在控制台中收到此错误:

我做错了什么,我怎样才能让这个消息消失?

0 投票
12 回答
584580 浏览

python - 如何找到脚本的目录?

考虑以下 Python 代码:

os.getcwd()用来获取脚本文件的目录位置。当我从命令行运行脚本时,它给了我正确的路径,而当我从 Django 视图中的代码运行的脚本运行它时,它会打印/

如何从 Django 视图运行的脚本中获取脚本的路径?

更新:
总结到目前为止的答案 -os.getcwd()两者os.path.abspath()都给出了当前工作目录,该目录可能是也可能不是脚本所在的目录。在我的网络主机设置__file__中,只给出了没有路径的文件名。

Python中没有任何方法(总是)能够接收脚本所在的路径吗?