比如有一个工程,一些变量有可能需要不时的修改,这时候可以通过从配置文件中读取该数值,需要修改时只需要修改配位文件即可。

比如有一个这样的变量m_nTest;

我么可以写两个函数ReadConfig(),SzveConfig(),其配置文件为Config.ini

void CXXX::ReadConfig()
{
CString strConfigFile;
strConfigFile = GetAbsolutePath(_T("config.ini"));
m_nTest = GetPrivateProfileInt(_T("Custom_Config"), _T("m_nTest"), 12345, strConfigFile); //如果没有从配置文件中找到,则默认为12345
}
void CXXX::SaveConfig()
{
CString strConfigFile;
CString str;
m_EditShow.GetWindowTextA(str);
strConfigFile = GetAbsolutePath(_T("config.ini"));
str.Format(_T("%d"),m_nTest);
::WritePrivateProfileString(_T("Custom_Config"),_T("m_nTest"), str, strConfigFile);
}

  其中用到的函数GetPrivateProfileInt(),WritePrivateProfileInt(),专门用于配置文件,其方法网上多有介绍。

相应的配置文件内容:

  [Custom_Config]
  m_nTest=123456789

在相应类的构造函数中调用ReadConfig()读取,在析构函数中调用SaveConfig()保存。

程序每次跑起来则会从配置文件中读到m_nTest=123456789,在程序关闭前,比如m_nTest=123,则配置文件写入123,下次运行程序是则会读取123;

C++中添加配置文件读写方法的更多相关文章

  1. css中添加屏幕自适应方法(rem)

    css中添加屏幕自适应方法(rem) 只需要在公共css文件中添加下面代码:设计稿以750px,基础字体为20px为例,兼容性高,使用过程中px转化为rem即可 /*竖屏*/ @media scree ...

  2. vue中添加util公共方法&&ES6之import、export

    vue中添加util公共方法&&ES6之import.export https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Re ...

  3. VC++对话框中添加状态栏的方法

    方法一:1.添加成员变量CStatusBarCtrl m_StatusBar;2.在OnInitDialog()中加入:                  m_StatusBar.Create(WS_ ...

  4. C# 在Word中添加表格的方法

    表格是组织整理数据的一种重要手段,应在生活中的方方面面.在Word文档中将繁杂的文字表述内容表格化,能快速.直接地获取关键内容信息.那么,通过C#,我们也可以在Word文档中添加表格,这里将介绍两种不 ...

  5. 向cmd中添加字体的方法

    首先下载字体到C:\Windows\Fonts中,然后参考 http://blog.csdn.net/bbirdsky/article/details/38495661 中所讲的方法进行添加.

  6. idea中添加类和方法注释以及codeCheck

    前言:在idea中我们添加类以及类的方法的注释很有必要,让其他人能够看懂这个类或者函数的作用是什么:为了在开发过程中检查自己的编程规范,可以通过codecheck工具进行自我检查和约束 一.在idea ...

  7. Android4.0.4-在build.prop中添加属性的方法【转】

    本文转载自:http://blog.csdn.net/imyfriend/article/details/8939964 1.在*.rc文件中用setprop添加,例如在源码android4.0\sy ...

  8. python - requests中添加配置文件

        HttpRequests.py #-*- coding:utf-8 -*- import requests class HttpRequests(): def http_requests(se ...

  9. java中读取配置文件的方法

    转自:http://blog.csdn.net/stypace/article/details/38414871 一.使用org.apache.commons.configuration 需要使用的是 ...

随机推荐

  1. jvm之对象创建过程

    常量池中定位类的符号引用                ↓ 检查符号引用所代表的类是否已被加载,解析和初始化过  →                 ↓                        ...

  2. 003--MySQL 数据库事务

    什么是事务? 事务是一组原子性的 SQL 查询, 或者说是一个独立的工作单元. 在事务内的语句, 要么全部执行成功, 要么全部执行失败. 事务的 ACID 性质 数据库事务拥有以下四个特性, 即 AC ...

  3. HADOOP操作权限问题

    hdfs的权限判断十分简单,就是拿发出指令的user name和文件的user name 做比较   private void check(INode inode, FsAction access   ...

  4. CentOS7部署ELK5.2

    原文发表于cu:2017-02-10 参考文档: Elasticsearchyum文档:https://www.elastic.co/guide/en/elasticsearch/reference/ ...

  5. [咸恩静][Coffee House]

    歌词来源:http://music.163.com/#/song?id=5400159 하루의 시작은 향긋한 커피 [ha-lu-e xi-ja-geun hyang-geu-Tan Keo-Pi] ...

  6. mariadb BINLOG_FORMAT = STATEMENT 异常

    当在mariadb中插入数据是报 InnoDB is limited to row-logging 异常: java.sql.SQLException: Cannot execute statemen ...

  7. loadrunner之analysis详解

    本文原出处:http://blog.csdn.net/lykangjia/article/details/56009750 一.常用到的性能测试术语 1.事务(Transaction) 在web性能测 ...

  8. 0421--"数字口袋精灵app"二次开发(Blackbriar团队开发)

    "数字口袋精灵app"二次开发 目录: 一.项目github总仓库推送 二.开发成员 三.分工与合作 四.各模块成果 五.心得墙 六.团队成员贡献分 内容: 一.项目github总 ...

  9. Scrum立会报告+燃尽图(十月二十九日总第二十次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2288 项目地址:https://git.coding.net/zhang ...

  10. 20181120-4 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 01

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2409 版本控制地址   https://git.coding.net/lg ...