讀取組態檔前先設定組態檔的路徑如下:
CWinApp *pApp = (CWinApp*)AfxGetApp();
free((void*)pApp->m_pszProfileName);
pApp->m_pszProfileName=_tcsdup(_T("stock.INI"));
接下來就是讀取和寫組態檔
問題是m_pszProfileName組態檔路徑寫錯,甚至不指定組態檔路徑,程式也能正確讀寫組態檔并顯示。很明顯該操作不是針對我事先預設的組態檔。網上有人說沒有指定組態檔路徑,默認讀取系統組態檔Win.INI。但Win.INI中沒有我要讀取和寫入的相關欄位啊,真是讓人費解
不知哪位朋友有相關經歷,求指點一二,謝謝了!
uj5u.com熱心網友回復:
沒指定的話,資料是保存到注冊表的另外_tcsdup(_T("stock.INI"));寫絕對路徑,防出錯
uj5u.com熱心網友回復:
你是不是把ini保存在當前目錄下了
然后系統瞎貓碰到死耗子 你跟蹤下打開的回傳值唄
uj5u.com熱心網友回復:
GetCurrentDirectorySetCurrentDirectory
uj5u.com熱心網友回復:
獲取當前exe目錄有那么難嘛uj5u.com熱心網友回復:
CString GetApplicationPath(CString strFileName)
{
TCHAR strRet[MAX_PATH] = { 0 };
GetModuleFileName(NULL, strRet, MAX_PATH);
(_tcsrchr(strRet, _T('\\')))[1] = 0;
CString strPath = _T("");
for (int n = 0; strRet[n]; n++)
{
if (strRet[n] != _T('\\')) strPath += strRet[n];
else strPath += _T("\\\\");
}
strPath += strFileName;
if (strPath == _T("")) return _T("");
return strPath;
}
uj5u.com熱心網友回復:
估計是讀注冊表去了,你也在操作注冊表了,如果讀取本地的話,為了除錯方便,直接用絕對路徑進行讀取。樓上已經有路徑獲取函式了轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/101186.html
標籤:界面
上一篇:vc2008 怎么添加坐標系控制元件,并能在坐標系上實時顯示多個點?
下一篇:VS listcontrol
