1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta name="Author" content="Richard Joseph Wagner">
<meta name="Description" content="C++ class for configuration file reader">
<meta name="Keywords" content="configuration,file,reader,input,text,C++,class,ConfigFile,data,type,datatype">
<link href="main.css" rel="stylesheet" type="text/css">
<style type="text/css">
body { background: url("AntBlueMaize.jpg"); }
tr { text-indent: 2em }
</style>
<title>Configuration File Reader for C++</title>
</head>
<body>
<h1>Configuration File Reader for C++</h1>
ConfigFile is a C++ class for reading configuration files. Such files are handy, for example, in running computer simulations. The simulation program can be set to read its input parameters and settings from a configuration file. Then, changing the simulation conditions is as easy as editing text in the configuration file rather than editing and recompiling the source code.
<p>With this purpose in mind, ConfigFile is designed to be convenient, portable, and free. Take a look at the
<a href="ConfigFile.h">class header</a>,
<a href="ConfigFile.cpp">class definition</a>,
<a href="example.cpp">example program<a>, and
<a href="example.inp">sample input<a>.
Or, download the complete package in
<a href="ConfigFile-2.1.zip">zip</a>
or
<a href="ConfigFile-2.1.tar.gz">tarball</a>
format.
<p>Features:
<ul>
<li>Human-readable configuration files:
<ul>
<li><code>atoms = 250</code>
<li><code>length = 8.0 # nanometers</code>
<li><code>name = Reece Surcher</code>
</ul>
<li>Simple file opening with <code>ConfigFile config( "config.inp" );</code>
<li>Convenient reading of any data type:
<ul>
<li><code>int atoms = config.read<int>( "atoms" );</code>
<li><code>double length = config.read( "length", 10.0 );</code>
<li><code>string author = config.read<string>( "name", "none" );</code>
</ul>
<li>Ability to modify and save configuration files
<li>Thorough example program
<li>Validation tests
<li>Open source code under MIT License
</ul>
<p>If you like this software, also try my version of the
<a href="http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html">Mersenne Twister</a>
random number generator.
<!-- counter included only in online version -->
<p><table align=center><tr>
<td><a href="http://www-personal.engin.umich.edu/~wagnerr/index.html">
<img class="nav" src="ArrowHome.gif" alt="^ home" height=16 width=16 border=0>
</a></td>
<td><span class="center"><address>
Rick Wagner (
<a href="mailto:wagnerr@umich.edu">wagnerr@umich.edu</a>
) 26 May 04
</address></span></td>
</table>
</body>
</html>
|