我用相对路径读取ini文件有时候读不出来,读取的是默认值,换成绝对路径后问题就解决了。各路大神有谁知道这是怎么回事啊?

解决方案 »

  1.   

    一般ini文件在工作目录下,获取当前工作目录即可读取到。
      

  2.   

    在 App::InitInstance()中添加如下代码
    BOOL CXXXXXApp::InitInstance()
    {
      TCHAR szProfileName[MAX_PATH+1]={0};
      if(GetModuleFileName(NULL, szProfileName, MAX_PATH))
      {
        PathRemoveExtension(szProfileName);
        _tcscat_s(szProfileName, _T(".ini"));    free((void*)m_pszRegistryKey); m_pszRegistryKey=NULL;//注册表键
        free((void*)m_pszProfileName); m_pszProfileName = _tcsdup(szProfileName); //ini文件
      }
      
      //其它代码……
      

  3.   

    你的相对路径获取到的什么打印出来看看,是不是ini所在路径就知道了~
      

  4.   

    貌似操作INI文件的API本来就是设计为只接受绝对路径的,相对路径你要自己加代码处理了