MFC读取配置文件
ctringinifilepath=this-str _ module _ directory _ t ('config.ini ' ); DWORD ret; file*FP=fopen((CT2a ) ) iniFilePath )、' r ' ); CString returnString; TCHAR szValue[MAX_PATH 1]=_T (' ); if(FP ) ret=getprivateprofilestring(_T ) (common )、_T )、_T )、szValue、max_pattir、szValue返回字符串outputdebugstring (返回字符串); }配置文件
[ common ] config dir=' c : ' getprivateprofilestring的深基坑https://blog.csdn.net/whish 1994/article/details/797444
总结: GetPrivateProfileString注意文件是否存在,
如果文件不存在或没有r读取权限,将发生时间内存错误。
失败的源代码如下:
stringprogramdir=getocxpath (文件); 获取//ini配置文件路径
ret=getprivateprofilestring (app,key,',returnString,MAX_PATH,“c:base64bmp_config.ini”);
这个代码看起来没有任何问题。 在MFC ocx项目下编译链接也可以,但执行一直是内存错误。
原以为ocx注册未被替换,或者GetOcxPath存在内存错误,但测试GetOcxPath设备并调试断点没有问题。
最后追加文件存在判断,如果不存在则读取默认文件即可。
改进的源代码如下:
stringprogramdir=getocxpath (文件); 获取//ini配置文件路径
DWORD ret;
file * FP=fopen (程序dir.data )、“r”);
if (! fp () )。
ret=getprivateprofilestring (app,key,',returnString,MAX_PATH,“c:base64bmp_config.ini”);
}else{
ret=getprivateprofilestring (app,key,',returnString,MAX_PATH,programDir.data );
}
在MFC中写入和读取配置文件操作https://blog.csdn.net/Zhu lichen/article/details/50358577
MFC中的配置文件写入和读取操作
有些项目记得登录密码。 前面写的程序将用户名密码和点击次数保存在数据库中,连接到数据库后完成数据的读取。 但是,太麻烦了。 别人使用的你的程序需要连接到数据库。 这个方法不好。 稍后运行程序时,考虑让程序自己生成文件,将数据保存在文件中,试着操作一下是个好方法。
1、写入配置文件
CString admin,password; Int编号器; clicknumber.Format('%d ',number );
:3360 writeprivateprofilestring (“save info”、“用户名”、admin、“C://Windows//saveto.ini”);
:3360 writeprivateprofilestring (“save info”、“密码”、password、“C://Windows//saveto.ini”);
:3360 writeprivateprofilestring (“save info”、“单击次数”、ClickNumber、“C://Windows/saveto.ini”);
//分别为写入字符串和整数
//现在,c驱动器下面的Windows文件下面有配置文件saveto.ini,可以看到作为记事本打开并保存的内容
2、配置文件读取
getprivateprofilestring (save info )、用户名)、admin )、admin.getbuffer(MAX_PATH )、max_path、) c3360//witi //此字符串admin的值为admingetprivateprofilestring (“保存信息”、“密码”、123、password.getbuffer ) MAX_PATH ) /
number=getprivateprofileint (“save info”、“单击次数”、0、“C://Windows//saveto.ini”); //点击次数的值错误时,整数型number的值为0