遍历INI文件和删除指定域内容
主要还是使用的INI文件操作的API,只是把参数修改下。
BOOL WINAPI WritePrivateProfileString(
__in LPCTSTR lpAppName,
__in LPCTSTR lpKeyName,
__in LPCTSTR lpString,
__in LPCTSTR lpFileName
);
MSDN里这样说的:
- lpKeyName
-
The name of the key to be associated with a string. If the key does not exist in the specified section, it is created. If this parameter is NULL, the entire section, including all entries within the section, is deleted.
就是说如果
lpKeyName为NULL的话,那么就删除
lpAppName 这个域(section)的所有内容。
这个是关键,我们就靠它来删除指定域(section)的内容。
- lpString
-
A null-terminated string to be written to the file. If this parameter is NULL, the key pointed to by the lpKeyName parameter is deleted.
这个
lpString如果为NULL的话,那么就删除
lpKeyName这内容。
这个也是关键,我们就靠它来删除指定键(key)的内容。
下面是具体代码实现:
CString filePath = m_ExeFilePath + g_iniFileName;
TCHAR strFileName[512] = {0};
TCHAR strAppNameTemp[MAX_APPNAME] = {0}; //所有AppName的返回值
//所有AppName的总长度
DWORD dwAppNameSize = GetPrivateProfileString(NULL,NULL,NULL,strAppNameTemp,MAX_APPNAME,filePath);
if(dwAppNameSize > 0)
{
TCHAR* pAppName = new TCHAR[dwAppNameSize];
::memset(pAppName,0,dwAppNameSize*sizeof(TCHAR));
int nAppNameLen=0; //每个AppName的长度
for(DWORD i = 0;i<dwAppNameSize;i++)
{
pAppName[nAppNameLen++]=strAppNameTemp[i];
if(strAppNameTemp[i]==_T('\0'))
{
::GetPrivateProfileStringW(pAppName,_T("Path"),_T(""),strFileName,512,filePath); // 资源的路径
if(!IsFileExist(strFileName))
{
// 资源文件不存在,则删除当前的记录
::WritePrivateProfileStringW(pAppName,NULL,NULL,filePath);
}
::memset(pAppName,0,dwAppNameSize*sizeof(TCHAR));
nAppNameLen=0;
} }
delete [] pAppName;
}
如果对代码有问题可以留言。
遍历INI文件和删除指定域内容的更多相关文章
- ini文件读写 保存上次存储内容
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Delphi ini文件读写
参考:http://www.cnblogs.com/zhangzhifeng/archive/2011/12/01/2270267.html 一.ini文件的结构 ;这是关于 ini 文件的注释 [节 ...
- ini 文件
INI文件是一个无固定标准格式的配置文件.它以简单的文字与简单的结构组成,常常使用在视窗操作系统,或是其他操作系统上,许多程序也会采用INI文件做为设置程序之用.视窗操作系统后来以注册表的形式替换掉I ...
- VB读写INI文件的四个函数以及相关API详细说明
WritePrivateProfileString函数说明 来源:http://blog.csdn.net/wjb9921/article/details/2005000 在我们写的程序当中,总有一 ...
- 封装 INI 文件读写函数
delphi读写ini文件实例 //--两个过程,主要实现:窗体关闭的时候,文件保存界面信息:窗体创建的时候,程序读取文件文件保存的信息. //--首先要uses IniFiles(单元) //--窗 ...
- 如何删除ini文件中的内容
1.删除子项值:::WritePrivateProfileString(分区名称, 子项名称, "", ini文件路径); 2.删除子项(名称和值):::WritePrivateP ...
- Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte
File 类 用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作. File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 ...
- Java精选笔记_IO流【File(文件)类、遍历目录下的文件、删除文件及目录】
File(文件)类 File类用于封装一个路径,该路径可以是从系统盘符开始的绝对路径,也可以是相对于当前目录而言的相对路径 File类内部封装的路径可以指向一个文件,也可以指向一个目录,在使用File ...
- C#中选中指定文件并读取类似ini文件的内容
一.背景 由于项目中需要去读取设备的配置信息,配置文件的内容和INI配置文件的格式类似,所以可以按照INI文件的方式来处理.涉及如何打开一个文件,获取打开的文件的路径问题,并读取选中的文件里边的内容. ...
随机推荐
- (转)PHP中的ob_start用法详解
用PHP的ob_start();控制您的浏览器cache Output Control 函数可以让你自由控制脚本中数据的输出.它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况.输出 ...
- iOS 中的传值方式
一. 属性传值 将A页面所拥有的信息通过属性传递到B页面使用 很常用的传值,也很方便,但是要拿到类的属性.例如: B页面定义了一个naviTitle属性,在A页面中直接通过属性赋值将A页面中的值传 ...
- 31.Spring-开发流程.md
[toc] 1.简单开发流程 1.1引用类库 基本类库: ## 1.2创建spring配置文件,文件的名称为固定格式:applicationContext.xml或者bean.xml: <?xm ...
- Hibernate 多对多关联Demo
以学生[Student ]与课程[Course ]之间的关系为例: //Course .java public class Course implements Serializable { priva ...
- cocos2d-x 实现沙子特效
效果图. 说明. 标题取的不好, 原因是我也不知道这效果应该叫什么. 大概效果是这样的, 随着鼠标按下并且移动, 所到之处所有磁铁都将扩散. 就好比鼠标是一个圆形区域去排挤在场的磁铁. 话不多说, 直 ...
- pip install robotframework-sshlibrary提示: Microsoft Visual C++ 9.0 is required
win7下 pip install robotframework-sshlibrar时提示: error: Microsoft Visual C++ 9.0 is required (Unable t ...
- 安装vs2013 Sqlserver 无法连接远程服务器的解决方法
以“管理员身份”启动cmd,执行“netsh winsock reset”命令.
- jQuery获取JSON格式数据方法
getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ ...
- php 用于绘图使用的颜色数组
$colorArr = array(0x912CEE, 0x99ff00, 0x312520, 0x801dae, 0x25f8cb, 0xCC3333, 0x808080, 0xa29b7c, 0x ...
- 给AVS添加描述(how to add a description to a video)
UPDATE you might need edit few files. 1. add the input field to the tpl file: /templates/frontend/yo ...