0

我正在研究 vc++ 表单代码。我需要获取当前目录才能打开项目的帮助表单。虽然我尝试了所有可以在互联网上找到的代码,但一切都是同样的问题。我正在发布下面的代码之一。代码的输出是真或假,它没有返回作为当前目录值的字符串。

TCHAR pwd[MAX_PATH]; GetCurrentDirectory(MAX_PATH, pwd); MessageBox::Show(Convert::ToString(&pwd), "我的应用程序", MessageBoxButtons::OKCancel, MessageBoxIcon::Asterisk);

请帮助我如何知道 VC++ 表单中的当前目录

4

2 回答 2

1

您将指针的地址传递给 Convert::ToString()。pwd 是一个数组,使用不带数组下标的变量名会自动衰减为指针。你想使用

Convert::ToString(pwd)

或者

Convert::ToString(&pwd[0])
于 2013-07-31T21:34:50.527 回答
0

您正在使用 C++/CLI。在这种情况下,您应该尽可能使用 .NET 函数……所以您应该使用属性而不是“GetCurrentDirectory” System::Environment::CurrentDirectory

或者,您应该禁用 /clr (.NET) 支持并仅使用本机功能!

如果你真的想混合原生代码和托管代码,你应该使用构造函数String从 TCHAR 转换:

String^ str = gcnew String(pwd);
于 2013-08-01T06:52:54.290 回答