两个文件中的配置项设置方法和C比较程序处理
在实际的软件开发项目。程序经常需要翻阅了一些资料可能会改变从外部,我们需要读出的信息到一个统一的文件(一般ini档),而此文件被称为个人资料。
考虑这样一个场景,程序须要与多个数据库打交道,要从配置文件里读取各个数据库的信息。那么,我们怎样在配置文件里设置各个配置项以及怎样编敲代码将各配置项的值读入呢?
如果有两个数据库,每一个数据库包括了IP地址和port号两种信息。那么。配置文件里配置项的设置有例如以下两种形式:
(1) 形式一:
[GENERAL]
; database count
DBNum=2
[DBINFO1]
IPAddress=
Port=
[DBINFO2]
IPAddress=
Port=
(2) 形式二:
[DBINFO]
; database count
DBNum=2
; Info of database1
IPAddress1=
Port1=
; Info of database2
IPAddress2=
Port2=
在形式一中,首先在[GENERAL]配置段里面设置数据库的个数,之后在[DBINFO1]和[DBINFO2]中设置详细的数据库信息。
在形式二中,数据库的信息就放在[DBINFO]配置段里面。
在该配置段下,首先设置数据库的个数,然后是每一个数据库的详细信息。
读取这两种形式的配置项值的C程序代码例如以下:
(1) 形式一:
(2) 形式二:
在实际项目中,以上两种形式的配置项设置方法都会用到,大家要依据项目组的要求、程序特点等进行合理的选择。
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5。我们的聊天号码:245924426。欢迎关注。)
版权声明:本文博主原创文章,博客,未经同意不得转载。
两个文件中的配置项设置方法和C比较程序处理的更多相关文章
- Object类中wait代餐方法和notifyAll方法和线程间通信
Object类中wait代餐方法和notifyAll方法 package com.yang.Test.ThreadStudy; import lombok.SneakyThrows; /** * 进入 ...
- php.ini文件中的include_path设置
下面以安装smarty为例: 下面内容中,我们都是假设你的文件放在了D:\Appserv\www\Smarty下. 1.找到你的php.ini配置文件修改php.ini的include_path选项, ...
- IOS中获取各个文件的目录路径的方法和NSFileManager类
转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永 ...
- BeyondCompare两个文件中同一行字符长度不一致的文件对比,比如pi文件对比(xjl456852原创)
假设有两个文件,里面存放的数字都只有一行,但长度不一样,对比时会有问题 示例文件: 对比示例如图: 左边的pi的字符串比较长,右边的比较短. 右边的pi的值不是从开始的第一个位置对比的,这样的情况是有 ...
- C# 类中隐藏基类方法和Partial
今天对于.NET开发人员来说最开心的事情莫过于微软搞开源了,这觉得是给搞.NET开发的长脸.虽然我是一个初学者,这无疑给我极大的学习动力.Fighting!!! 当一个类从父类继承了一个成员时,也就继 ...
- 写的非常好的文章 C#中的委托,匿名方法和Lambda表达式
简介 在.NET中,委托,匿名方法和Lambda表达式很容易发生混淆.我想下面的代码能证实这点.下面哪一个First会被编译?哪一个会返回我们需要的结果?即Customer.ID=5.答案是6个Fir ...
- CSS优先级问题以及jQuery中的.eq()遍历方法和:eq()选择器的差别
在写一个TAB选项卡的时候遇到几个有意思的问题,记录下来 先把代码贴出来 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transition ...
- Android中Looper的quit方法和quitSafely方法
Looper是通过调用loop方法驱动着消息循环的进行: 从MessageQueue中堵塞式地取出一个消息.然后让Handler处理该消息,周而复始.loop方法是个死循环方法. 那怎样终止消息循环呢 ...
- C语言如何在两个文件中访问同一个全局变量
方法一: 不使用头文件. 1.c 中 int var; 2.c 中 extern int var; 方法二: 使用头文件. 1.c 中 int var; 不必添加#include "1.h& ...
随机推荐
- Android周报
Android周报 原文 http://www.race604.com/android-weekly-25/ 文章/教程 使用 Kotlin 开发 Android 应用系列 看起来用 Kotli ...
- Rudiments 0.42 发布,C++ 常用工具包 - 开源中国社区
Rudiments 0.42 发布,C++ 常用工具包 - 开源中国社区 Rudiments 0.42 发布,C++ 常用工具包
- 图像特征提取方法:Bag-of-words
Bag-of-words简单介绍 最初的Bag-of-words ,也叫做"词袋",在信息检索中,Bag-of-words model假定对于一个文本,忽略其词序和语法,句法,将其 ...
- ubuntu12.04安装深度音乐播放器和深度影音
昨天折腾了一天,想要安装深度播放器和深度影音都未成功,老是出现依赖关系不满足这个错误.网上解决办法有非常多,可是都没能有效的解决这个问题.今天突然想起来之前换过软件源,是不是这个原因而导致了依赖关系不 ...
- HTML5初步——新的表单元素和属性
HTML5初步--新的表单元素和属性 HTML5初步--新的表单元素和属性 <!DOCTYPE html> <html> <head> <meta chars ...
- Conexant声卡实现内录功能(win7)
Conexant声卡本身没有立体声混音设备可选,所以我们采用virtual audio device,实现内录功能. [1]下载virtual audio device.下载地址:http://dow ...
- poj3126(bfs)
题目链接:http://poj.org/problem?id=3126 题意:给两个四位数n,m,将n变成m需要多少步,要求每次只能改变n的某一位数,即改变后的数与改变前的数只有一位不同,且每次改变后 ...
- gem5 设定checkpiont以及从checkpoint开始运行
同spec2006中间bzip2一个例子,如何设置checkpoint .以及从checkpoint继续以启动运行.这样做的目的是为了,采纳automic运行N指令,然后detailed运行M指令. ...
- 服务器编程入门(3)TCP协议详解
问题聚焦: 本节从如下四个方面讨论TCP协议: TCP头部信息:指定通信的源端端口号.目的端端口号.管理TCP连接,控制两个方向的数据流 TCP状态转移过程:TCP连接的任意一 ...
- GitLal+sourceTree版本号管理
GitLab+sourceTree版本号管理 假设把代码提交到github上,仅仅能是公开的,除非你花钱了,可是我不想花钱,所以我选择了gitLab作为gitserver,使用gitLab的详细过程例 ...