关于在VC++ 的MFC 下INI文件的生成和运用

王朝vc·作者佚名  2006-01-09
宽屏版  字体: |||超大  

我们在编写程序的过程中,有很多要用到出始化,但有很多都写进了注册表,而我们在想修改或者查看的时候必须到注册表里去修改,而不是直接到一个程序目录下的ini文件里查看或者修改,怎么使可以直接生成的ini文件能写进Debug 呢?而不写进注册表.下面的程序可以帮助我们实现这个目的!!!!

在应用程序类下的 * App::InitInstance()函数里加入下面的程序语句;

char czProgName[MAX_PATH];

CString czN;

int iNiValue=0;

iNiValue= GetModuleFileName(0,czProgName,MAX_PATH);

if(iNiValue<= 0)

return TRUE;

czProgName[strlen(czProgName)-3] = '\0';

strcat(czProgName,"ini");

// 这个GetModuleFileName() 的作用是得到当前目录下的**.exe文件,所以我们要把后缀去掉,直接用strcat()函数把它改长ini后缀.

//再清除Ini变量

free((void*) m_pszProfileName);

m_pszProfileName =_tcsdup(_T(czProgName));

//清除注册表键值变量所分配的内存空间 .

free((void*)m_pszRegistryKey);

m_pszRegistryKey = NULL;

加入上面的语句以后,我们就可以在需要的地方直接用:

当然在使用的时候要定义:

CWinApp* theApp = NULL;

theApp = AfxGetApp();

然后直接用

theApp ->WriteProfileString( , ,)函数写入ini文件.

在需要读出的地方直接用 :

theApp ->GetProfileString ( , , )函数直接读出;

当然在读取整数的时候,我们可以分别用

WriteProfileInt ( , , )和 GetProfileInt ( , , )进行实现.

当你打开你的Debug 下的文件时,你可以看到一个*.ini文件了!!!!!!!!!!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有