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 ...
随机推荐
- SendKeys回车操作类
/************************************************************ FileName: SendKey.cs Description: 模拟键盘 ...
- 设置Eclipse自动跳转到debug模式的小技巧
默认情况下,eclipse中右键debug,当运行到设置的断点时会自动跳到debug模式下.但由于我的eclipse环境,从开始一直用到现在,中间包括装.卸各种插件,更换版本,从英文界面导到中文界面又 ...
- hadoop-集群管理(2)——内存设置
http://www.cnblogs.com/yuechaotian/archive/2013/03/08/2949607.html 1. 内存 hadoop为各个守护进程(namenode,seco ...
- hbase 各个概念,region,storefile
HBase中有两张特殊的Table,-ROOT-和.META. .META.:记录了用户表的Region信息,它可以有多高region(这的意思是说.META.表可以分 裂成多个region,和用户表 ...
- Javascrpt
HTML HTML概述: HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他 ...
- 新手浅谈C#关于abstract和interface
abstract:抽象类,是对某一类对象的抽象,继承抽象类的类和抽象类是属于关系 interface:接口,可以说是一种规范,继承接口的类表达则是,我继承了这个接口,我能做什么 举个常用的例子:抽象一 ...
- android从资源文件中读取文件流显示
在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样:代码区: private void doRaw(){ InputStream is = this ...
- MyEclipse各种操作
MyEclipse console没有显示的解决方法 1.进window菜单 ->show view->console 2.还是window菜单->preferences-& ...
- 解决Access连接 accdb 不可识别的数据库格式异常
在Access07之前的数据库后缀名均为*.mdb 而连接字符串写成Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myFolder\*.mdb ;Pe ...
- Winform TreeView 单选
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { //通过鼠标或者键盘触发事件,防止修改节点的Checke ...