0
我有GetOpenFileName的問題。 在調用GetOpenFileName方法WriteData正在工作之前。 寫數據有一個簡單的文件檢查程序:獲取打開的文件名正在查殺ifstream
ifstream inFile(FileName.c_str());
if (!inFile.is_open()) return false;
OFN轉儲:
並調用GetOpenFileName後其始終爲false。但在調用GetOpenFileName之前,它工作正常。
while (!lang->LoadLang(config->getLanguagePath()))
{
OPENFILENAME ofn = {0};
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFile = config->getLanguagePath();
ofn.lpstrFile[0] = '\0';
ofn.lpstrTitle = "Select the language file";
ofn.nMaxFile = 255;
ofn.lpstrFilter = "Language file\0*.lng\0";
ofn.nFilterIndex = 1;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
if (GetOpenFileName(&ofn) == 0) return 0;
config->WriteData(KEY_LANG, ofn.lpstrFile);
}
您是否嘗試過使用調試器來查看'GetOpenFileName'調用後的結構看起來像什麼? –
檢查出來。問題已更新。 –
這看起來像一個有效的文件名,所以無論出現什麼問題似乎都在你沒有顯示的代碼中。 –