<?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[Verschiedene Zeilen Ab Text-File einlesen]]></title><description><![CDATA[<p>Hallo liebe c++ler</p>
<p>Ich hab mehrere Fragen bezüglich Hanhabung von files.<br />
Bin im google und den unentlich vielen Tutorials und meinen Lehrmitteln nicht schlau geworden. Bin leider noch blutiger Anfänger.</p>
<p>Hier mein Main Programm welches eine Datei erzeugt.<br />
Das Funktioniert soweit ganz gut.</p>
<pre><code class="language-cpp">int user = 1;
    char passwort[50] = {&quot;Das ist ein Testpasswort&quot;};

    ofstream pw; 
    pw.open(&quot;PasswortFile.txt&quot;,fstream::trunc);   
    pw &lt;&lt;&quot;Das ist der user -&gt; &quot; &lt;&lt;user &lt;&lt;&quot;  Passwort=&gt; &quot; &lt;&lt;passwort &lt;&lt;endl; 
    pw.close(); 

    user = 2;
    passwort[24]=' ';
    passwort[25]='2';
    passwort[26]='\n';

    pw.open(&quot;PasswortFile.txt&quot;,ios::app);
    pw &lt;&lt;&quot;Das ist der user -&gt; &quot; &lt;&lt;user &lt;&lt;&quot;  Passwort=&gt; &quot; &lt;&lt;passwort &lt;&lt;endl;   
    pw.close();
</code></pre>
<p>Nun möchte ich Jede Zeile in ein Char Array und in ein int einlesen können.<br />
Und das ganze am Liebsten einmal mit einem Offset so dass nur der Benutzer in einem int landet.<br />
Und einmal mit einem Offsett so dass das Passwort in einem char Array landet.<br />
Hier mein zugegebenermassen kümmerlicher Versuch:</p>
<pre><code class="language-cpp">int Lesen()
{
    char pw1[100];
    char pw2[100];
    int user1=0;
    int user2=0;
    ifstream pw;
    pw.open(&quot;PasswortFile.txt&quot;,ios::in);
    // alles einlesen, um dieses kleine schnipsel wäre ich froh.
    // ich weiss das es was mit seekg und eof zu tun haben muss...
    return user;
    pw.close();   
}
</code></pre>
<p>am Schluss sollte in pw1 &quot;Das ist ein Testpasswort&quot; stehen<br />
in pw2 &quot;Das ist ein Testpasswort2&quot; stehen<br />
in user1 &quot;1&quot; stehen<br />
in user2 &quot;2&quot; stehen</p>
<p>besten Dank an alle die mir aus der Patsche helfen!</p>
<p>LG FLEXO</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/279436/verschiedene-zeilen-ab-text-file-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 15:17:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279436.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Dec 2010 21:09:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verschiedene Zeilen Ab Text-File einlesen on Sun, 26 Dec 2010 21:09:07 GMT]]></title><description><![CDATA[<p>Hallo liebe c++ler</p>
<p>Ich hab mehrere Fragen bezüglich Hanhabung von files.<br />
Bin im google und den unentlich vielen Tutorials und meinen Lehrmitteln nicht schlau geworden. Bin leider noch blutiger Anfänger.</p>
<p>Hier mein Main Programm welches eine Datei erzeugt.<br />
Das Funktioniert soweit ganz gut.</p>
<pre><code class="language-cpp">int user = 1;
    char passwort[50] = {&quot;Das ist ein Testpasswort&quot;};

    ofstream pw; 
    pw.open(&quot;PasswortFile.txt&quot;,fstream::trunc);   
    pw &lt;&lt;&quot;Das ist der user -&gt; &quot; &lt;&lt;user &lt;&lt;&quot;  Passwort=&gt; &quot; &lt;&lt;passwort &lt;&lt;endl; 
    pw.close(); 

    user = 2;
    passwort[24]=' ';
    passwort[25]='2';
    passwort[26]='\n';

    pw.open(&quot;PasswortFile.txt&quot;,ios::app);
    pw &lt;&lt;&quot;Das ist der user -&gt; &quot; &lt;&lt;user &lt;&lt;&quot;  Passwort=&gt; &quot; &lt;&lt;passwort &lt;&lt;endl;   
    pw.close();
</code></pre>
<p>Nun möchte ich Jede Zeile in ein Char Array und in ein int einlesen können.<br />
Und das ganze am Liebsten einmal mit einem Offset so dass nur der Benutzer in einem int landet.<br />
Und einmal mit einem Offsett so dass das Passwort in einem char Array landet.<br />
Hier mein zugegebenermassen kümmerlicher Versuch:</p>
<pre><code class="language-cpp">int Lesen()
{
    char pw1[100];
    char pw2[100];
    int user1=0;
    int user2=0;
    ifstream pw;
    pw.open(&quot;PasswortFile.txt&quot;,ios::in);
    // alles einlesen, um dieses kleine schnipsel wäre ich froh.
    // ich weiss das es was mit seekg und eof zu tun haben muss...
    return user;
    pw.close();   
}
</code></pre>
<p>am Schluss sollte in pw1 &quot;Das ist ein Testpasswort&quot; stehen<br />
in pw2 &quot;Das ist ein Testpasswort2&quot; stehen<br />
in user1 &quot;1&quot; stehen<br />
in user2 &quot;2&quot; stehen</p>
<p>besten Dank an alle die mir aus der Patsche helfen!</p>
<p>LG FLEXO</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1999135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1999135</guid><dc:creator><![CDATA[FLEXO_C]]></dc:creator><pubDate>Sun, 26 Dec 2010 21:09:07 GMT</pubDate></item><item><title><![CDATA[Reply to Verschiedene Zeilen Ab Text-File einlesen on Mon, 27 Dec 2010 11:03:36 GMT]]></title><description><![CDATA[<p>hier mal ein beispiel wie du es machen könntest:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
using namespace std;

int main()
{
    fstream f;
	string passwort;
	string s;
	int user;
	stringstream ss; // umwandeln string in int

	f.open(&quot;test.txt&quot;, fstream::in);

	f &gt;&gt; s &gt;&gt; passwort; // Wenn die Datei so aufgebaut ist, (siehe unten) kann man das so einlesen. Wenn du mehr benutzer hast 
						// machst du alles in eine while schleife und mit der bedingung !f.eof(), dass ist false wenn das dateiende noch nicht
						// erreicht ist.

	cout &lt;&lt; s &lt;&lt; endl;
	cout &lt;&lt; passwort &lt;&lt; endl;

	ss &lt;&lt; s;
	ss &gt;&gt; user;

	return 0;
}
</code></pre>
<p>Datei</p>
<pre><code>1 Das_ist_ein_Passwort
</code></pre>
<p>Es muss dann aber alles zusammen geschrieben werden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1999228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1999228</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Mon, 27 Dec 2010 11:03:36 GMT</pubDate></item><item><title><![CDATA[Reply to Verschiedene Zeilen Ab Text-File einlesen on Mon, 27 Dec 2010 12:19:20 GMT]]></title><description><![CDATA[<p>Hallo FLEXO,</p>
<p>willkommen im C++-Forum.</p>
<p>Deine Datei soll anscheinend so aussehen (auch wenn das ein ungewöhnliches Format ist - siehe Posting von Gucky)</p>
<pre><code>Das ist der user -&gt; 1  Passwort=&gt; passwort1
Das ist der user -&gt; 2  Passwort=&gt; passwort2
</code></pre>
<p>FLEXO_C schrieb:</p>
<blockquote>
<p>... Nun möchte ich Jede Zeile in ein Char Array und in ein int einlesen können.<br />
Und das ganze am Liebsten einmal mit einem Offset so dass nur der Benutzer in einem int landet.<br />
Und einmal mit einem Offsett so dass das Passwort in einem char Array landet.</p>
</blockquote>
<p>Das ist nicht so ganz klar, wie Du das meinst. Ich unterstelle mal, da ist eine int-Variable 'user', die für den USer steht und ein Passwort als String, was Du letzlich benötigst. Für den String benutze am besten einen <a href="http://www.cplusplus.com/reference/string/string/" rel="nofollow">std::string</a>. Dann wird schon mal vieles einfacher und weniger fehleranfällig.</p>
<p>Die 'richtigen' Stellen im Textfile finde ich mit Hilfe des Zeichens '&gt;'. Hier wird einfach solange alles überlesen, bis ein '&gt;' austaucht und danach jeweils die Variable. Der lesende Code könnte dann so aussehen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt; // std::string
#include &lt;fstream&gt;
#include &lt;limits&gt; // numeric_limits

void Lesen()
{
    using namespace std; // erspart das vorangestellte std::
    const streamsize ALLES = numeric_limits&lt; streamsize &gt;::max(); // die größste darstellbare Zahl dieses Typs
    string pw1;
    string pw2;
    int user1;
    int user2;
    ifstream pw( &quot;PasswortFile.txt&quot; ); // mit dem Anlegen oeffnen, basic_ios::in ist es sowieso
    if( !pw.is_open() )
    {
        cerr &lt;&lt; &quot;Fehler beim Oeffnen&quot; &lt;&lt; endl;
        return;
    }
    // alles einlesen, um dieses kleine schnipsel wäre ich froh.
    // ich weiss das es was mit seekg und eof zu tun haben muss... nein, weder seekg noch eof
    pw.ignore( ALLES, '&gt;' ) &gt;&gt; user1;
    pw.ignore( ALLES, '&gt;' ) &gt;&gt; pw1;
    pw.ignore( ALLES, '&gt;' ) &gt;&gt; user2;
    pw.ignore( ALLES, '&gt;' ) &gt;&gt; pw2;
    if( pw ) // heißt, bis hierhin ist das Einlesen gut gegangen
    {
        cout &lt;&lt; &quot;User2 &quot; &lt;&lt; user2 &lt;&lt; &quot; Passwort2 &quot; &lt;&lt; pw2 &lt;&lt; endl;
    }
}   // pw.close() ist unnötig, das geschieht im Destruktor von ifstream
</code></pre>
<p>Wichtig dabei ist noch, dass die Passworte keine Leerzeichen oder Tabulatoren enthalten, so wie in Deinem Beispiel - das ist bei Passworten auch nicht üblich. Der Ausdruck std::istream&gt;&gt;std::string liest immer ein Wort.</p>
<p>:xmas2: Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1999255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1999255</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 27 Dec 2010 12:19:20 GMT</pubDate></item></channel></rss>