c/c++常用代码 -- ini文件操作
#pragma once
#include <string>
#include <sstream>
typedef std::basic_string<TCHAR> tstring;
class CIniCfg
{
public:
CIniCfg()
{
TCHAR szTemp[MAX_PATH];
GetModuleFileName(NULL, szTemp, sizeof(szTemp));
LPTSTR p = _tcsrchr(szTemp, _T('.'));
if (p != NULL)
_tcscpy(p, _T(".ini"));
else
_tcscat(szTemp, _T(".ini"));
m_strFilePath = szTemp;
}
void SetName(LPCTSTR szName)
{
TCHAR szTemp[MAX_PATH];
GetModuleFileName(NULL, szTemp, sizeof(szTemp));
LPTSTR p = _tcsrchr(szTemp, _T('\\'));
if (p != NULL)
{
_tcscpy(++p, szName);
}
m_strFilePath = szTemp;
}
void SetPath(LPCTSTR szPath)
{
m_strFilePath = szPath;
}
BOOL SetInt(LPCTSTR lpAppName, // pointer to section name
LPCTSTR lpKeyName, // pointer to key name
int nValue)
{
std::basic_stringstream<TCHAR> ss;
ss << nValue;
return WritePrivateProfileString(
lpAppName,
lpKeyName,
ss.str().c_str(), //strValue,
m_strFilePath.c_str());
}
BOOL SetString(LPCTSTR lpAppName, // pointer to section name
LPCTSTR lpKeyName, // pointer to key name
LPCTSTR lpString) // pointer to string to add
{
return WritePrivateProfileString(
lpAppName,
lpKeyName,
lpString,
m_strFilePath.c_str());
}
int GetInt(LPCTSTR lpAppName, // address of section name
LPCTSTR lpKeyName, // address of key name
int nDefault) // return value if key name is not found
{
return GetPrivateProfileInt(
lpAppName,
lpKeyName,
nDefault,
m_strFilePath.c_str());
}
tstring GetString(LPCTSTR lpAppName, // points to section name
LPCTSTR lpKeyName, // points to key name
LPCTSTR lpDefault) // points to default string
{
TCHAR szRet[MAX_PATH] = {};
DWORD dwSize = MAX_PATH;
GetPrivateProfileString(
lpAppName, // points to section name
lpKeyName, // points to key name
lpDefault, // points to default string
szRet, // points to destination buffer
dwSize, // size of destination buffer
m_strFilePath.c_str());
return szRet;
}
protected:
tstring m_strFilePath;
};
c/c++常用代码 -- ini文件操作的更多相关文章
- ini文件操作
Config.ini 文件操作 [SYS] sysname=hy company=hyhy tel=2 using System; using System.Collections.Generic; ...
- ini 文件操作记要(1): 使用 TIniFile
ini 文件操作记要(1): 使用 TIniFile unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Class ...
- winform INI文件操作辅助类
using System;using System.Runtime.InteropServices;using System.Text; namespace connectCMCC.Utils{ // ...
- [C#] 常用工具类——文件操作类
/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...
- Ini文件操作类
/// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...
- ansible笔记(5):常用模块之文件操作(二)
ansible笔记():常用模块之文件操作(二) 文件操作类模块 find模块 find模块可以帮助我们在远程主机中查找符合条件的文件,就像find命令一样. 此处我们介绍一些find模块的常用参数, ...
- C# ini文件操作【源码下载】
介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...
- C#读写ini文件操作
ini文件,是windows操作系统下的配置文件,ini文件是一种按照特点方式排列的文本文件,它的构成分为三部分,结构如下: [Section1] key 1 = value2 key 1 = val ...
- C# Ini文件操作
在开源中国看到的操作ini文件的,写的还不看,留着以后用 using System; using System.IO; using System.Runtime.InteropServices; us ...
随机推荐
- 《Linux企业应用案例精解(第2版)》新书开始发售
<Linux企业应用案例精解(第2版)>新书开始发售 650) this.width=650;" title="linux企业应用案例精解 第2版" alt= ...
- java异常处理的两种方法
一种是try-catch-finally,监视代码段,如果有异常就捕获. 另一种是此处不处理,声明在方法后面,抛给上级.(不处理也是一种处理)
- Loadrunner:场景中添加负载生成器
场景中添加负载生成器: (1)远程机子(假设ip为192.168.134.23)开启负载生成器 开始菜单找到:LoadRunner Agent Process 开启后任务栏会显示如下图: (2)场景中 ...
- storm学习-storm入门
超好资料: 英文:https://github.com/xetorthio/getting-started-with-storm/blob/master/ch03Topologies.asc 中文:h ...
- 四、Struts2的执行过程和原理
执行过程和原理(可能面试题) 学习目标:熟知struts2的执行过程(下图记住).源码可以不看 a.过滤器的初始化 .StrutsPrepareAndExecuteFilter是一个过滤器,过滤器就有 ...
- 那么如何添加网站favicon.ico图标
1. 获得一个favicon.ico的图标,大小为16px×16px最为合适 2. 将制作好的图标文件Favicon.ico上传到网站的根目录: 3. 在首页文件的html代码的头部中加入如下代码: ...
- (五)、nodejs使用bootstrap的样式进行分页
一.page方法 /****************************************************** * Created User: * Created Time: 201 ...
- Windows Server 2003 增加远程用户个数
1.进入“开始”-“控制面板”-“添加或删除程序”如下图: 2.点击“添加/删除windows组件(A)”,进入如下图 如果该服务器没有安装“终端服务器”和“终端服务器授权”组件的话,则需要使用系统光 ...
- C# 运行时编辑 节点重命名
方法一: ; bool nodeChanged = false; //右键点击,就进入修改状态 private void treeView1_NodeMouseClick(object sender, ...
- 在Entity Framework 中执行T-sql语句
从Entity Framework 4开始在ObjectContext对象上提供了2个方法可以直接执行SQL语句:ExecuteStoreQuery<T> 和 ExecuteStoreC ...