Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Coding Releases
You last visited: Today at 15:23

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C++] Threadsafe cfg-files parsen

Discussion on [C++] Threadsafe cfg-files parsen within the Coding Releases forum part of the Coders Den category.

Reply
 
Old   #1
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
[C++] Threadsafe cfg-files parsen

Hallo,
für ein anstehendes größeres Projekt bin ich gerade am Vorarbeit leisten und etwas zu planen.
Habe dann vorher eine Klasse zusammengehakt, welche ganz simple *.cfg Dateien bearbeitet (lesen und schreiben). Ein Aspekt dabei war, dass mehrere Files von verschiedenen Threads gelesen bzw. geschrieben werden können.

Jede Instanz der Klasse besitzt quasi einen Snapshot der Datei, wird diese zwischenzeitlich geändert, kann man manuell via reload() darauf reagieren und die Datei erneut parsen. Ein Mutex sorgt dafür, dass der Zugriff auf die anderen sauber verläuft und es keine Komplikationen in der map gibt.

Die *.cfg files sind dabei ganz einfach aufgebaut:
key=value.
Keine Leerzeichen, keine Kommentare, kein Nichts

Wie gesagt hab ich es in totaler Übermüdung geschrieben und vielleicht kann ja doch jemand was damit anfangen oder mich auf einen groben Fehler aufmerksam machen.

2 Sachen stehen aber noch an: case-insensitivity und besserer Umgang mit Leerzeichen.

Header:


Impl:


Beispiel
Code:
#include <iostream>

#include "CfgParser.h"

int main()
{
	ConfigParser parser("foobar.cfg");

	parser.write("name", "foo");
	parser.write("age", 1337);
	parser.write("PI", 3.14);

	try
	{
		float pi = parser.read<float>("PI");
		std::string tel = parser.read<std::string>("telephone");
	}
	catch(NotExistingValueException)
	{
		std::cerr << "value not found" << std::endl;
		return 1;
	}

	return 0;
}
Schlüsselbein is offline  
Reply


Similar Threads Similar Threads
Wie eine HTML mit Php parsen und auswerten?
09/15/2012 - General Coding - 5 Replies
Ich habe bisher Stundenlang gesucht, doch nichts verwertbares gefunden. Meine Hilfsmittel sind simple_html_dom und mein Code ist: <div id="ts3_viewer"> <div class="server_green"> <a href="ts3server://xxx.xxx.xxx.xxx/?port=xxxx& quot; title="TeamSpeak3 Server"> TSServer </a> </div>
Fehler beim Parsen mit der XML-Datei...
12/13/2011 - Metin2 - 3 Replies
Fehler beim Parsen mit der XML-Datei... - Technische Probleme - Metin2.de Hier ich habe einen Fehler. Entweder ihr geht oben auf den link oder antwortet hier... Habe gegooglet...hier in E*pvp gesucht und in Metin2 Forum gesucht...
werte aus txt file parsen
04/10/2011 - AutoIt - 3 Replies
moin moin, wollte mal fragen ob hier wer langeweile hat und mir nen script bastelt welches mir alle werte einer jeden zeile aus einer txt file ausliest und praktischerweise in einem array speichert. die werte wären von links nach rechts gesehen: position, name, alter, stärke, frische, ep, tp, awp txt file sieht so aus. Pastebin.me - Share Code
[LUA] String parsen.
12/22/2010 - General Coding - 5 Replies
Hallo , ich würde gern nach einem string suchen und den dann aufteilen das wenn ich z.b :collect Saroniterz 9 eingebe das er dann das Saroniterz und die anzahl rauspickt und ich die weiterverwenden kann , weiß einer vll wie das geht?
[Discussion] - LockFree ThreadSafe Dynamic Memory Allocation
09/21/2010 - CO2 Programming - 7 Replies
I thought this might be an interesting discussion, Has anyone heard of this being possible?, (from the title "LockFree ThreadSafe Dynamic Memory Allocation") I only just learned recently that dynamic memory allocation isn't thread safe (for native code anyways). Have not really been a big fan of using threads until recently, starts to change as computers get more CPUs. If you only have 1 CPU, then its more efficient to find a way to do something with just 1 thread (if possible). One...



All times are GMT +1. The time now is 15:26.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.