获取当前目录时,是否可以在不知道最大缓冲区大小的情况下执行此操作? 在C++中获取当前目录的语法是: GetCurrentDirectory(DWORD nBufferLength, LPTSTR lpBuffer);

获取当前目录时,是否可以在不知道最大缓冲区大小的情况下执行此操作? 在C++中获取当前目录的语法是: GetCurrentDirectory(DWORD nBufferLength, LPTSTR lpBuffer);,c++,windows,directory,C++,Windows,Directory,在不知道最大缓冲区大小的情况下,是否无法获取当前目录 我只是担心如果我写下一个最大长度,有人会超过它,我的程序就会失败 我无法使用argv[],因为我使用的是Win32。如果将NULL作为缓冲区指针传递,将0作为缓冲区长度传递,则函数将返回必要的缓冲区大小 正如所指出的,这在 .如果传递NULL作为缓冲区指针,传递0作为缓冲区长度,则函数将返回必要的缓冲区大小 正如所指出的,这在 .这不是我定义的吗?还是已经为我定义了?已经定义了。这是路径的最大长度,因此它不会返回任何字符数超过该长度的内容。当

在不知道最大缓冲区大小的情况下,是否无法获取当前目录

我只是担心如果我写下一个最大长度,有人会超过它,我的程序就会失败


我无法使用argv[],因为我使用的是Win32。

如果将NULL作为缓冲区指针传递,将0作为缓冲区长度传递,则函数将返回必要的缓冲区大小

正如所指出的,这在
.

如果传递NULL作为缓冲区指针,传递0作为缓冲区长度,则函数将返回必要的缓冲区大小

正如所指出的,这在
.

这不是我定义的吗?还是已经为我定义了?已经定义了。这是路径的最大长度,因此它不会返回任何字符数超过该长度的内容。当然,您也可以通过传递null来执行
std::vector
路径。这不是我定义的吗?还是已经为我定义了?已经定义了。这是路径的最大长度,因此它不会返回任何字符数超过该长度的内容。当然,您也可以通过传递null来执行
std::vector
路由。“如果
lpBuffer
指向的缓冲区不够大,返回值以字符为单位指定所需的缓冲区大小,包括空终止字符。”--如果由
lpBuffer
指向的缓冲区不够大,则返回值以字符为单位指定所需的缓冲区大小,包括空终止字符--