GetPrivateProfileString使用

GetPrivateProfileString
函数作用:得到INI文件的配置信息 

定义:
DWORD GetPrivateProfileString(
  LPCTSTR lpAppName,  //Section Name
  LPCTSTR lpKeyName,  //Key Name
  LPCTSTR lpDefault,       //Return Default Value
  LPTSTR lpReturnedString, //Point to Return String
  DWORD nSize,                     //Return String size
  LPCTSTR lpFileName        //INI文件的地址,注意,这个地址要绝对地址.
);
要得到当前执行程序目录下的INI文件的地址,可调用:GetModuleFileName函数和GetCurrentDirectory

1、GetModuleFileName
函数作用:返回当前进行包含的指定模块所在文件的绝对路径

定义:
DWORD GetModuleFileName(
  HMODULE hModule,    //模块名,NULL表示返回当前进程所在的可执行文件的绝对路径
  LPTSTR lpFilename,   //返回的文件的绝对路径
  DWORD nSize              //返回的路径size
);

2、GetCurrentDirectory
函数作用:返回当前进程的当前目录

 定义:
DWORD GetCurrentDirectory(
  DWORD nBufferLength,   
  LPTSTR lpBuffer
);

可类似如下进行INI文件的读取:
const CString INI_INFO_SECTION_STUDY_INFO = _T("StudyInfo");
const CString INI_INFO_STUDY_KEY_STUDY_ID = _T("StudyID");

BOOL CINIClass::GetFileFullPath(CString szFileName)
{
 char szModuleFileDirec[MAX_PATH] = "";
 DWORD dwLength = GetModuleFileName(NULL,szModuleFileDirec,MAX_PATH); 
 if(dwLength == 0) 
 {  
  szModuleFileDirec[0] = '/0';  
 } 
 CString szTempUse = szModuleFileDirec; 
 szTempUse = szTempUse.Left(szTempUse.ReverseFind('//')+1); 
 szTempUse += szFileName;
 m_szFileDirect = szTempUse;
 
 CFileFind finder;

 BOOL bWorking = finder.FindFile(m_szFileDirect);
 if(!bWorking)
 {  
  AfxMessageBox(_T("没有找到文件"));
  return FALSE;
 }
  return TRUE;
}

BOOL CINIClass::LoadINI()
{
   char szTemp[MAX_PATH] = _T("");
   GetPrivateProfileString(INI_INFO_SECTION_STUDY_INFO,
       INI_INFO_STUDY_KEY_STUDY_ID,
       _T("0"), 
       szTemp,
       MAX_PATH,
       m_szBasicInfoFile);
 m_szPatID = szTemp;
}
//IN文件的样式如下:
[StudyInfo]
StudyID=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值