现在的位置: 首页 > 综合 > 正文

c++下 ini文件和注册表的读写

2013年04月24日 ⁄ 综合 ⁄ 共 1036字 ⁄ 字号 评论关闭

今天作公司题目,要求对ini 文件和注册表进行读写操作,查了一些文章,发现ini文件和注册表的操作并不是很困难,简单总结一下,给能借用的朋友提供以下资料,如果你还有什么疑问可以给我留言,下面我先分析一下对ini文件的操作:

写入ini 文件可以到用下面函数:

 cs = "c://wt.ini";
 ::WritePrivateProfileString("SECTION_1","Key1","test1",cs); 

函数执行过程中如果c盘不存在该文件,则自动建立,如果存在,则在原有的文件上添加
[SECTION_1] Key1=test1 一项。添加后如下:
[SECTION_1]
Key1=test1
Key2=test2
[SECTION_2]
Key4=test4
Key3=test3

读取ini 文件可以到用下面函数:

CString tt;
 cs = "c://wt.ini";
GetPrivateProfileString("SECTION_2","key4","no",tt.GetBuffer(10),10,cs);
说明:如果没有对应的项值,则tt中存放no。

注册表操作:

必须要引入头文件:#include <atlbase.h> 以下是创建一个健。比给该健添加一个项 “test",值为:ss
if(creg.Create(HKEY_CURRENT_USER,"keyTest") == ERROR_SUCCESS)
  {
   if( creg.Open(HKEY_CURRENT_USER,"keyTest") == ERROR_SUCCESS )
   {
   CString ss = "001";
   creg.SetValue(HKEY_CURRENT_USER,"keyTest",ss,"test");  
   AfxMessageBox(" write Successful!");
   }
  }
  creg.Close();
下面是对对应建值得读取:
 if( creg.Open(HKEY_CURRENT_USER,"keyTest") == ERROR_SUCCESS )
   {
   char svalue [1024];
   CString mm;
   DWORD pCount=1024;
   creg.QueryValue(svalue,"test",&pCount);
   mm = svalue;
     AfxMessageBox(" read Successful!");
   } 
  creg.Close();

 

 

抱歉!评论已关闭.