不能使用变量的WritePrivateProfileString

时间:2014-09-12 00:48:53

标签: c++ variables clr

多么糟糕!

大家好,我只是尝试在我的程序中使用WritePrivateProfileString。

以下是我的代码

String^ path = Environment::GetFolderPath(Environment::SpecialFolder::ApplicationData)->ToString() + L"\\nos_backup.ini";

//Heres some code with a folderbrowserdialog, it appears and below the selected path will been copied into tbPath (a textbox)
tbPath->Text = fbdFolderPath->SelectedPath;
String^ value = tbPath->Text;
std::string val = msclr::interop::marshal_as<std::string>(value);

array<Char> ^ ini = path->ToCharArray();
WritePrivateProfileString(_T("GENERAL"), _T("NostaleData"), _T(val.c_str()), _T(ini));

我试了1.5个小时才找到解决方案。我所知道的是参数必须在LPCTSTR中。但如果我尝试一些变体,它总是出现

“错误C2065:'Lval':未声明标识符” “错误C2065:'Lini':未声明标识符”

如何解决这个问题?我希望在程序中使用值变量而不是硬编码。

0 个答案:

没有答案