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 ...
随机推荐
- ASP.NET MVC4 学习系统三(控制器Controller)
控制器(Controllers) 在MVC架构模式的上下文里,控制器响应用户的输入(比如,用户点击“保存”按钮),并协调模型.视图以及(经常)数据访问层.在ASP.NET MVC程序里,控制器就 ...
- SVN与TortoiseSVN实战:属性的奇技淫巧(二)
硬广:<SVN与TortoiseSVN实战>系列已经写了七篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解. 关于属性的奇技淫巧较多,分为两篇来写,第一篇详见< ...
- error: could not find library containing RSA_new
error: could not find library containing RSA_new yum -y install openssl-devel apt-get install libssl ...
- DedeCMS中function='Html2Text(@me)的用法分析
本文实例讲述了DedeCMS中function='Html2Text(@me)的用法.分享给大家供大家参考.具体分析如下: 在使用dedecms建站网站时候,需要用到过滤html代码,调出纯文本的代码 ...
- nginx之keepalive
一:设置 keepalive_timeout 0; 发curl: [xxx ~]$ curl -H "Keep-Alive: 60" -H "Connection: k ...
- hdu2067
如果i==j&&j-1>=0时候,f[i][j]=f[i][j-1]; 如果j==0时候,f[i][j]=1; 其他 f[i][j]=f[i-1][j]+f[i][j-1]; # ...
- 旅游风景展示应用源码iPad版
一款iPad旅游风景展示应用源码,一款iPad旅游景区展示应用.效果很炫,左右可以以书本的效果进行翻页,双击左边显示该风景区的信息,双击右边可以显示该风景区的地理位置.<ignore_js_op ...
- C puzzles详解【6-8题】
第六题 #include<stdio.h> int main() { ; switch(a) { ': printf("ONE\n"); break; ': print ...
- 实例分析ELF文件动态链接
参考文献: <ELF V1.2> <程序员的自我修养---链接.装载与库>第6章 可执行文件的装载与进程 第7章 动态链接 <Linux GOT与PLT> 开发平台 ...
- Windows下zlib库和libPng库的编译和使用
关于zlib库和libpng是干嘛的,我就不说了,度娘和谷歌都能告诉你.这里主要记录下windows下如何利用vs2010编译和使用这两个库. 一.zlib库的编译 首先要下载这个库,这个谷歌和百度也 ...