VC++读写配置文件
来源:互联网 发布:购物软件需求分析报告 编辑:程序博客网 时间:2024/06/08 02:07
VC++ 读取配置文件主要用到GetPrivateProfileString()函数,关于该函数的说明见MSDN。本文给出了自己写的小例子,结合WritePrivateProfileString和注册表函数使用。
写入配置文件:
int _tmain(int argc, _TCHAR* argv[]){ wchar_t* pFileName = _T("C:\\testFile.ini"); HKEY hkey; DWORD dwDisp; LONG longReg = RegCreateKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Clients\\DG\\FileName"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hkey, &dwDisp); if (longReg != ERROR_SUCCESS) { wprintf (_T("Error in creating file key (%d).\n"), longReg); return 0; } longReg = RegSetValueEx (hkey,_T(""),0,REG_SZ ,(BYTE*)pFileName,(wcslen(pFileName)+1)*sizeof(wchar_t)); if (longReg != ERROR_SUCCESS) { wprintf (_T("Error in creating subkey key (%d).\n"), longReg); return 0; } WritePrivateProfileString(_T("Section1"), _T("FirstKey"), _T("It all worked out OK."), pFileName); WritePrivateProfileString(_T("Section2"), _T("SecondKey"), _T("By golly, it works!"), pFileName); WritePrivateProfileString(_T("Section3"), _T("ThirdKey"), _T("Another test..."), pFileName); return 0;}
读取配置文件
#define bufferSize 128int GetINIinfo(WCHAR* pSection,WCHAR* pKeyName,WCHAR* pKeyBuffer,WCHAR* filePath);int _tmain(int argc, _TCHAR* argv[]){ HKEY hkey=0; DWORD dwType=0; wchar_t filePath[bufferSize]={0}; DWORD dwData=bufferSize; LONG lgReg = RegOpenKeyEx (HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Clients\\DG\\FileName"), 0, KEY_READ, &hkey); if (ERROR_SUCCESS != lgReg) { wprintf (_T("Error in opening file key (%d).\n"),lgReg); return 0; } lgReg = RegQueryValueEx(hkey,_T(""),NULL,&dwType,(BYTE*)filePath,&dwData); if (ERROR_SUCCESS != lgReg) { wprintf (_T("Error in reading file key (%d).\n"),lgReg); return 0; } wchar_t buffer[3][bufferSize] = {0}; GetINIinfo(_T("section1"),_T("FirstKey"),buffer[0],filePath); GetINIinfo(_T("section2"),_T("SecondKey"),buffer[1],filePath); GetINIinfo(_T("section3"),_T("ThirdKey"),buffer[2],filePath); for (int i=0;i<3;i++) { wprintf(_T("%d::%s\n"),i,buffer[i]); } return 0;}int GetINIinfo(WCHAR* pSection,WCHAR* pKeyName,WCHAR* pKeyBuffer,WCHAR* filePath){ DWORD dwNum = GetPrivateProfileString(pSection, pKeyName, _T(""), pKeyBuffer, bufferSize, filePath); if (0==dwNum || _T("")== pKeyBuffer) { DWORD dwError = GetLastError(); wprintf (_T("fail in reading file :error %d\n"),dwError); return 0; } return 1;}
- VC++读写INI配置文件
- VC读写配置文件
- VC ini配置文件读写
- VC++读写配置文件
- VC读写配置文件
- vc++读写配置文件
- vc读写配置文件ini
- VC++读写配置文件.ini
- VC配置文件ini的读写
- VC配置文件ini的读写
- VC配置文件ini的读写
- VC配置文件ini的读写
- VC配置文件ini的读写
- VC++中,配置文件的读写操作
- VC++中,配置文件的读写操作
- VC配置文件ini的读写(转载)
- VC技术篇之配置文件读写
- VC配置文件ini的读写(转载)
- Fiddler (三) Composer创建和发送HTTP Request
- URL-基本知识
- Linux下build和使用rabbitmq-c
- LVS 三种工作模式的优缺点比较
- listview 为什么点击没有反应
- VC++读写配置文件
- Openfiler之二:Openfiler的配置
- VC++学习之线程篇
- Android Service学习之IntentService 深入分析
- POJ测试数据
- Java程序员在写SQL程序时候常犯的10个错误
- android中binder的初始化
- Reflection
- 内存 cache