<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Zeilenweise aus Ini Datei lesen und in neue Datei schreiben]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Ini-Datei mit mehreren Sections. Jetzt will ich aus einer bestimmten Section alle Zeilen auslesen und in eine neue Datei schreiben.<br />
Mein Problem hierbei ist, dass es zwar die spezielle Methode GetPrivateProfileString(...) gibt, die mir gezielt eine Ini-Datei auslesen kann, allerdings erhalte ich nur den Wert einer Variablen und ich muss immer genau die Variable angeben, die ich auslesen will.</p>
<p>Ich will aber nicht nur den Wert der Variablen, sondern die komplette Zeile in eine neue Datei schreiben, um sie von dort mit GetPrivateProfileString(..) auslesen zu können.</p>
<p>Die Ini-Datei ist folgendermaßen aufgebaut:</p>
<pre><code>[section1]
variable1 = x
variable2 = y
variable3 = z

[section2]
variable1 = z
variable2 = y
variable3 = x
</code></pre>
<p>Wichtig:<br />
Es sollen nun aber nicht alle Zeilen neu geschrieben werden, sondern z.b. nur die von section1 oder section2.</p>
<p>Ich hoffe ich habs verständlich erklärt.</p>
<p>Gruß Buz <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179959/zeilenweise-aus-ini-datei-lesen-und-in-neue-datei-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 12:08:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179959.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Apr 2007 04:53:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeilenweise aus Ini Datei lesen und in neue Datei schreiben on Fri, 27 Apr 2007 04:53:50 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Ini-Datei mit mehreren Sections. Jetzt will ich aus einer bestimmten Section alle Zeilen auslesen und in eine neue Datei schreiben.<br />
Mein Problem hierbei ist, dass es zwar die spezielle Methode GetPrivateProfileString(...) gibt, die mir gezielt eine Ini-Datei auslesen kann, allerdings erhalte ich nur den Wert einer Variablen und ich muss immer genau die Variable angeben, die ich auslesen will.</p>
<p>Ich will aber nicht nur den Wert der Variablen, sondern die komplette Zeile in eine neue Datei schreiben, um sie von dort mit GetPrivateProfileString(..) auslesen zu können.</p>
<p>Die Ini-Datei ist folgendermaßen aufgebaut:</p>
<pre><code>[section1]
variable1 = x
variable2 = y
variable3 = z

[section2]
variable1 = z
variable2 = y
variable3 = x
</code></pre>
<p>Wichtig:<br />
Es sollen nun aber nicht alle Zeilen neu geschrieben werden, sondern z.b. nur die von section1 oder section2.</p>
<p>Ich hoffe ich habs verständlich erklärt.</p>
<p>Gruß Buz <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274319</guid><dc:creator><![CDATA[Buzweed]]></dc:creator><pubDate>Fri, 27 Apr 2007 04:53:50 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenweise aus Ini Datei lesen und in neue Datei schreiben on Fri, 27 Apr 2007 06:27:06 GMT]]></title><description><![CDATA[<p>Die erste Möglichkeit ist es, dir zunächst mit GetPrivateProfileString() alle Namen der Sektion ausgeben zu lassen und dann in einer Schleife einzulesen und zusammen mit dem Schlüsselnamen auszugeben.</p>
<p>Die zweite Möglichkeit ist es, die Datei per fstream zeilenweise einzulesen. Wenn du auf die Zeile &quot;[section1]&quot; triffst, beginnst du damit, alle nachfolgenden Zeilen zu schreiben, bis die nächste Zeile mit &quot;[&quot; kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274342</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 27 Apr 2007 06:27:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenweise aus Ini Datei lesen und in neue Datei schreiben on Fri, 27 Apr 2007 06:37:53 GMT]]></title><description><![CDATA[<p>also wenn ich dich richtig verstanden habe, dann müsste der code hier machen was du willst.</p>
<pre><code class="language-cpp">string section = &quot;[section1]&quot;;
ifstream datei;
datei.open(&quot;pfad zu deiner datei&quot;);
if(!datei)
{
	cout&lt;&lt;&quot;Die angegebene Datei ist nicht vorhanden&quot;&lt;&lt;endl;
}
else
{
	bool variableneinlesen = false;
	string zeile;
	while(!datei1.eof())
	{
		getline(datei, zeile);

		if(zeile = &quot;&quot;)
		{
			variableneinlesen = false;
		}
		else
		{
			if(variableneinlesen == true)
			{
				speichereZeile(zeile); //hier rufst du eine funktion auf die die übergebene zeile speichert
						       //diese Funktion musst du allerdings noch selber schreiben
			}

			if(zeile == section)
			{
				variableneinlesen = true;
			}

		}
	}
}
</code></pre>
<p>allerdings musst du auf die syntax deiner datei achten. die müsste ungefähr so aussehen, das erst der name kommt, dann genau im anschluss die variablen und danach muss unbedingt eine leerzeile kommen.</p>
<p>ich hoffe ich konnte dir helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274348</guid><dc:creator><![CDATA[KingV1k]]></dc:creator><pubDate>Fri, 27 Apr 2007 06:37:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenweise aus Ini Datei lesen und in neue Datei schreiben on Fri, 27 Apr 2007 16:24:09 GMT]]></title><description><![CDATA[<p>Naja...</p>
<pre><code>// pseudocode:
stream in = ...;
stream out = ...;
bool copy_section = false;
string line;
while(line = getline(in))
{
    trimmed_line = trim(line); // whitespaces links und rechts entfernen
    if (trimmed_line starts with '[' and ends with ']')
    {
        // section header gefunden
        copy_section = (trimmed_line == &quot;[my_section_name]&quot;); // besser case insensitive vergleichen
    }

    if (copy_section)
       out.putline(line);
}
</code></pre>
<p>Wenn du die section header nicht mitkopieren willst wird aus dem &quot;if (copy_section)&quot; einfach ein &quot;else if(copy_section)&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274732</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 27 Apr 2007 16:24:09 GMT</pubDate></item></channel></rss>