我建了一个基于DIALOG的应用程序CDemoApp
BOOL CTitlekeyEntryApp::InitInstance()
{
char iniName[_MAX_PATH];
::_snprintf(iniName, sizeof(iniName), "%s\\Demo.INI", "C:\demo") );free((void*)m_pszProfileName);
m_pszProfileName=_tcsdup(_T(iniName));
CString str = this->GetProfileString("LOGPARAM","FILENAME","aaa.log");
}
Demo.INI 文件内容如下
 [LOGPARAM]
 DIR =C:\
 FILENAME          =other.log
 MAXSIZE =1024000
 HISTORY =2
为什么str=aaa.log,不能从Demo.INI 中读出FILENAME other.log?

解决方案 »

  1.   

    我并没有从CWinApp::GetProfileString的解说中看到和m_pszProfileName相关的任何信息,而且自己也用WriteProfileString测试了一次,这个函数的确是针对win.ini进行操作的。
    还是那句话,用GetPrivateProfileString就可以了。
      

  2.   

    谢谢你!我知道用GetPrivateProfileString可以,但是我想知道m_pszProfileName是用来改变
    什么的,m_pszRegistryKey是用来改变什么的?
      

  3.   

    这两个变量和GetProfileString并没有关系吧?-->我并没有从CWinApp::GetProfileString的解说中看到和m_pszProfileName相关的任何信息你可以不可以告诉我哪里的参考资料里写着_pszProfileName和m_pszRegistryKey的用途的?
      

  4.   

    仔细查查是否路径不对,我记得表示目录时好像应该是"C:\\demo"