为了更好地熟悉 C++,我正在重做一个旧的大学操作系统任务:编写自己的 shell。我正在使用各种Windows.h
我从未知道存在的东西。到目前为止,我已经取得了不错的进展,但我注意到了一些关于我的cd
实现和我从getcwd
.
我的cd
命令进行了一些错误检查,但最终归结为chdir(path)
. 假设我在C:\
并且存在一个文件夹FOLDER
。如果我chdir("folder")
稍后在调用时使用 then ,getcwd(dir, FILENAME_MAX)
那么我将得到字符串C:\folder
而不是大小写正确的字符串C:\FOLDER
。如何检索具有正确大小写的每个文件夹的工作目录?
注意:当我第一次启动我的 shell 并运行我的pwd
命令(dir
仅从我的getcwd
调用中打印)时,我得到了一个正确大小写的路径。一旦我开始更改工作目录,那么外壳总是与我的字符串匹配,而不是实际的文件夹外壳。