String

Ich habe eine .ini - Datei, in der mehrere Daten stehen, die ich auslesen will, z.B.

[PathIn]=C:\test\Dialoge\Dialoge.aps
[PathOut]=…

Gibt es nun in C++ eine ähnlich gute Funktion oder Befehl wie in Perl, wo ich nach dem „=“ Zeichen suchen kann und alles vorher in eine Variable gespeichert wird und alles nach dem „=“ in eine andere Variable.
Oder gibt es eine anderen einfachen Weg dies auszuwerten und die Pfadangabe in einen String zu speichern, um diesen weiterzuverarbeiten ohne Zeichen für Zeichen abzusuchen ?

Danke für die Hilfe.

Gruss Thomas

Hallo,

eine Eintraege entsprechen keine INI-File Norm gemaess Section- Name-Value-Pairs. Eine Init_Datei hat grob gesehen folgenden Aufbau:

[Section1]
Name1=Value1
Name2=Value2

[Section2]

Den Zugriff machst Du am besten ueber die SDK Funktion:

GetPrivateProfileString()

Wenn Du dies nicht willst, dann muss Du ueber Find() erst den Index des "="Zeichens suchen und dann mit Left() und Mid() den String zerschneiden.

CU

Hi,

so in etwa kannst du da vorgehen:

#include 
#include 

int main()
{ 
 int pos;
 string h = "[Name]=Test";
 string first, second;

 pos = h.find( "=" );
 first = h.substr( 0, pos );
 second = h.substr( pos+1, h.length() ); // das = brauchen wir ja nicht

 cout 

Du musst halt noch sicherstellen, dass es auch das 1. '=' ist, was du findest.


Ciao, Bill