<?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[txt dati mit Trennzeichen auslesen]]></title><description><![CDATA[<p>Hallo<br />
Ich hoffe dass ich hier eine schnelle Lösung finde</p>
<p>Ich habe eine *.txt Datei mit zum Beispiel folgendem Inhalt<br />
1;cy1;r1;sw<br />
2;cy2;r2;sw<br />
3;cy3;r3;sw<br />
4;cy4;r4;sw</p>
<p>mit folgendem Script möchte ich die Datei auslesen und in eine zweite Datei schreiben</p>
<pre><code>#include &lt;fstream&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main()
{

 char zeile [500]; // Zeile max 121 Zeichen
 string wert[1000]; // Datei Max 10000 Zeilen

 ifstream dateiLese (&quot;var.txt&quot;); // Eingabe Datei
 ofstream dateiSchreibe (&quot;output.txt&quot;); // Ausgabe Datei

 if (dateiLese)
 {
 dateiSchreibe &lt;&lt; &quot;&lt;?xml version=\&quot;1.0\&quot; standalone=\&quot;no\&quot;?&gt;&quot;&lt;&lt; endl;
 dateiSchreibe &lt;&lt; &quot;&lt;!DOCTYPE svg PUBLIC \&quot;-//W3C//DTD SVG 1.1//EN\&quot; \&quot;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\&quot;&gt;&quot;&lt;&lt; endl;
 dateiSchreibe &lt;&lt; &quot;&lt;svg xmlns=\&quot;http://www.w3.org/2000/svg\&quot; version=\&quot;1.1\&quot;&gt;\n\n&quot;&lt;&lt; endl;
 int i=0;
 // solange die Zeile nicht leer ist
 while(dateiLese.getline (zeile, 500)) 
 {
 // Zeile lesen
 wert[i]=zeile;

 // Hier kann die Zeile bearbeitet werden

 // Zeile in ausgabe.txt schreiben

dateiSchreibe &lt;&lt; &quot;&lt;circle cx=\&quot;&quot;&lt;&lt;wert[i]&lt;&lt;&quot;\&quot; cy=\&quot;&quot;&lt;&lt;cy1&lt;&lt;&quot;\&quot; r=\&quot;&quot;&lt;&lt;r1&lt;&lt;&quot;\&quot; stroke=\&quot;black\&quot; stroke-width=\&quot;&quot;&lt;&lt;sw&lt;&lt;&quot;\&quot; fill=\&quot;black\&quot; /&gt;&quot;&lt;&lt; endl;
 i++;

}
 dateiLese.close (); // Datei schliessen
 dateiSchreibe &lt;&lt; &quot;&lt;/svg&gt; &quot;&lt;&lt; endl;
 dateiSchreibe.close(); // Datei schliessen
 }

}
</code></pre>
<p>es funktioniert auch fast<br />
Einen einzelnen Wert kann ich eintragen wenn z.B. in der *.txt Datei nur<br />
1<br />
2<br />
3<br />
4<br />
steht so wird dies bei wert[i] eingetragen. *<em>Um jetzt mal auf den Punkt zu kommen, hat vielleicht jemand eine Ahnung wie ich die anderen stellen cy1 r1 und sw ebenfalls aus der <em>.txt entnehmen kann??</em></em><br />
vielen Dank schon mal für alle Hilfen<br />
lg<br />
tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/315172/txt-dati-mit-trennzeichen-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 31 Jul 2026 11:52:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/315172.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 25 Mar 2013 20:52:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to txt dati mit Trennzeichen auslesen on Mon, 25 Mar 2013 20:52:52 GMT]]></title><description><![CDATA[<p>Hallo<br />
Ich hoffe dass ich hier eine schnelle Lösung finde</p>
<p>Ich habe eine *.txt Datei mit zum Beispiel folgendem Inhalt<br />
1;cy1;r1;sw<br />
2;cy2;r2;sw<br />
3;cy3;r3;sw<br />
4;cy4;r4;sw</p>
<p>mit folgendem Script möchte ich die Datei auslesen und in eine zweite Datei schreiben</p>
<pre><code>#include &lt;fstream&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main()
{

 char zeile [500]; // Zeile max 121 Zeichen
 string wert[1000]; // Datei Max 10000 Zeilen

 ifstream dateiLese (&quot;var.txt&quot;); // Eingabe Datei
 ofstream dateiSchreibe (&quot;output.txt&quot;); // Ausgabe Datei

 if (dateiLese)
 {
 dateiSchreibe &lt;&lt; &quot;&lt;?xml version=\&quot;1.0\&quot; standalone=\&quot;no\&quot;?&gt;&quot;&lt;&lt; endl;
 dateiSchreibe &lt;&lt; &quot;&lt;!DOCTYPE svg PUBLIC \&quot;-//W3C//DTD SVG 1.1//EN\&quot; \&quot;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\&quot;&gt;&quot;&lt;&lt; endl;
 dateiSchreibe &lt;&lt; &quot;&lt;svg xmlns=\&quot;http://www.w3.org/2000/svg\&quot; version=\&quot;1.1\&quot;&gt;\n\n&quot;&lt;&lt; endl;
 int i=0;
 // solange die Zeile nicht leer ist
 while(dateiLese.getline (zeile, 500)) 
 {
 // Zeile lesen
 wert[i]=zeile;

 // Hier kann die Zeile bearbeitet werden

 // Zeile in ausgabe.txt schreiben

dateiSchreibe &lt;&lt; &quot;&lt;circle cx=\&quot;&quot;&lt;&lt;wert[i]&lt;&lt;&quot;\&quot; cy=\&quot;&quot;&lt;&lt;cy1&lt;&lt;&quot;\&quot; r=\&quot;&quot;&lt;&lt;r1&lt;&lt;&quot;\&quot; stroke=\&quot;black\&quot; stroke-width=\&quot;&quot;&lt;&lt;sw&lt;&lt;&quot;\&quot; fill=\&quot;black\&quot; /&gt;&quot;&lt;&lt; endl;
 i++;

}
 dateiLese.close (); // Datei schliessen
 dateiSchreibe &lt;&lt; &quot;&lt;/svg&gt; &quot;&lt;&lt; endl;
 dateiSchreibe.close(); // Datei schliessen
 }

}
</code></pre>
<p>es funktioniert auch fast<br />
Einen einzelnen Wert kann ich eintragen wenn z.B. in der *.txt Datei nur<br />
1<br />
2<br />
3<br />
4<br />
steht so wird dies bei wert[i] eingetragen. *<em>Um jetzt mal auf den Punkt zu kommen, hat vielleicht jemand eine Ahnung wie ich die anderen stellen cy1 r1 und sw ebenfalls aus der <em>.txt entnehmen kann??</em></em><br />
vielen Dank schon mal für alle Hilfen<br />
lg<br />
tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309783</guid><dc:creator><![CDATA[saibott]]></dc:creator><pubDate>Mon, 25 Mar 2013 20:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to txt dati mit Trennzeichen auslesen on Mon, 25 Mar 2013 21:31:17 GMT]]></title><description><![CDATA[<p>Zeig kompletten Code; dein Beispiel kompiliert noch nicht einmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309802</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Mon, 25 Mar 2013 21:31:17 GMT</pubDate></item><item><title><![CDATA[Reply to txt dati mit Trennzeichen auslesen on Mon, 25 Mar 2013 21:56:19 GMT]]></title><description><![CDATA[<p>Servus.</p>
<p>Meine Idee:<br />
Alle Semikolons durch Leerzeichen ersetzen (das wurde hier beschrieben: <a href="http://stackoverflow.com/questions/2896600/how-to-replace-all-occurrences-of-a-character-in-string" rel="nofollow">http://stackoverflow.com/questions/2896600/how-to-replace-all-occurrences-of-a-character-in-string</a>), und anschließend kannst du das in einen Stringstream werfen und mit dem operator&lt;&lt; nacheinander auslesen. Wenn du es alleine nicht hinbekommst melde dich einfach, dann programmier ich dir das fix. Ansonsten betrachte es als Übungsaufgabe ;).</p>
<p>Grüße<br />
Max</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309812</guid><dc:creator><![CDATA[Max3000]]></dc:creator><pubDate>Mon, 25 Mar 2013 21:56:19 GMT</pubDate></item><item><title><![CDATA[Reply to txt dati mit Trennzeichen auslesen on Mon, 25 Mar 2013 22:12:46 GMT]]></title><description><![CDATA[<p>Jetzt hat mich das Problem so interessiert, dass ich es doch fix mal ausprobiert habe.<br />
Hier ist meine Lösung:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;sstream&gt;
#include &lt;string&gt;

using namespace std;

int main()
{
  string satz(&quot;Das;ist;ein;Test;&quot;);

  int pos=0;
  while((pos=satz.find(&quot;;&quot;,pos)) &lt; satz.length())
    satz.replace(pos, 1, &quot; &quot;);

  cout &lt;&lt; &quot;Satz: &quot; &lt;&lt; satz &lt;&lt; endl;

  istringstream ss(satz);

  int ctr=0;
  char buf[255];
  while(!ss.eof())
    {
      ss &gt;&gt; buf;
      cout &lt;&lt; &quot;Wort &quot; &lt;&lt; ++ctr &lt;&lt; &quot;: &quot; &lt;&lt; buf &lt;&lt; endl;
    }
}
</code></pre>
<p>Ein kleiner Fehler ist aber noch drin.<br />
Die Ausgabe ist:</p>
<pre><code>Das ist ein Test 
Word 1: Das
Word 2: ist
Word 3: ein
Word 4: Test
Word 5: Test
</code></pre>
<p>Wo das fünfte Wort herkommt hab ich noch nicht ganz gecheckt.</p>
<p>Edit: Das Semikolon am Satzende ist das Problem. Da es bei dir aber nicht so formatiert ist sollte es kein Problem darstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309817</guid><dc:creator><![CDATA[Max3000]]></dc:creator><pubDate>Mon, 25 Mar 2013 22:12:46 GMT</pubDate></item><item><title><![CDATA[Reply to txt dati mit Trennzeichen auslesen on Mon, 25 Mar 2013 22:30:46 GMT]]></title><description><![CDATA[<p>Hier mal eine C++ Lösung:</p>
<pre><code>#include &lt;fstream&gt;
#include &lt;iostream&gt;
#include &lt;iterator&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;

struct record
{
	string number;
	string cy;
	string r;
	string sw;
};

istream&amp; operator&gt;&gt;( istream&amp; in, record&amp; rec )
{
	const char separator = ';';
    getline( in, rec.number, separator );
    getline( in, rec.cy, separator );
    getline( in, rec.r, separator );
    getline( in, rec.sw );
    return in;
}

int main()
{
	ifstream file_input(&quot;var.txt&quot;);
	vector&lt;record&gt; records;
	for( record rec; file_input&gt;&gt;rec; records.push_back(rec) );

	ofstream file_output(&quot;output.txt&quot;);

	file_output &lt;&lt; &quot;&lt;?xml version=\&quot;1.0\&quot; standalone=\&quot;no\&quot;?&gt;&quot; &lt;&lt; '\n';
	file_output &lt;&lt; &quot;&lt;!DOCTYPE svg PUBLIC \&quot;-//W3C//DTD SVG 1.1//EN\&quot; \&quot;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\&quot;&gt;&quot; &lt;&lt; '\n';
	file_output &lt;&lt; &quot;&lt;svg xmlns=\&quot;http://www.w3.org/2000/svg\&quot; version=\&quot;1.1\&quot;&gt;\n\n&quot; &lt;&lt; '\n';

	for( vector&lt;record&gt;::iterator it=records.begin(); it!=records.end(); ++it)
	{
		file_output &lt;&lt; &quot;&lt;circle cx=\&quot;&quot; &lt;&lt; it-&gt;number &lt;&lt; &quot;\&quot; cy=\&quot;&quot; &lt;&lt; it-&gt;cy &lt;&lt; &quot;\&quot; r=\&quot;&quot; &lt;&lt; it-&gt;r &lt;&lt; &quot;\&quot; stroke=\&quot;black\&quot; stroke-width=\&quot;&quot; &lt;&lt; it-&gt;sw &lt;&lt;&quot;\&quot; fill=\&quot;black\&quot; /&gt;&quot; &lt;&lt; '\n';
	}
	file_output &lt;&lt; &quot;&lt;/svg&gt; &quot;&lt;&lt; '\n';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2309821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309821</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 25 Mar 2013 22:30:46 GMT</pubDate></item><item><title><![CDATA[Reply to txt dati mit Trennzeichen auslesen on Mon, 25 Mar 2013 22:33:25 GMT]]></title><description><![CDATA[<p>oder so:</p>
<pre><code class="language-cpp">std::ifstream stream(&quot;yowassupPunktTxt&quot;);
std::string string;

while(stream.good()){
    getline(stream, string, ';');
    std::cout &lt;&lt; &quot;Bitteschön: &quot; &lt;&lt; string &lt;&lt; '\n';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2309822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309822</guid><dc:creator><![CDATA[dumdumdumdumdum]]></dc:creator><pubDate>Mon, 25 Mar 2013 22:33:25 GMT</pubDate></item><item><title><![CDATA[Reply to txt dati mit Trennzeichen auslesen on Mon, 25 Mar 2013 22:34:38 GMT]]></title><description><![CDATA[<p>Max3000 schrieb:</p>
<blockquote>
<p>Wo das fünfte Wort herkommt hab ich noch nicht ganz gecheckt.</p>
</blockquote>
<p>Das ist weil du falsch von der Datei ließt. Du machst folgendes:<br />
1. Prüfen<br />
2. Lesen<br />
3. Verarbeiten<br />
Das ist natürlich Murx <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    />.</p>
<p>Du musst es natürlich so machen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    />:<br />
1. Lesen<br />
2. Prüfen<br />
3. Verarbeiten, falls erfolgreich gelesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309823</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 25 Mar 2013 22:34:38 GMT</pubDate></item></channel></rss>