<?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[Problem beim Einlesen einer Datei]]></title><description><![CDATA[<p>Hi,</p>
<p>hoffe mir kann hier jemand helfen. Ich möchte unter c++ eine Datei einlesen.</p>
<p>526561676565202004500102000C000C01010000167F7F5555</p>
<p>Dies ist der Inhalt der TXT Datei. Ich weiß auch wie ich den Inhalt zu bewerten habe.</p>
<p>52 = R<br />
65 = e<br />
61 = a<br />
67 = g<br />
65 = e<br />
65 = e<br />
20 = leer Zeichen<br />
20 = leer Zeichen</p>
<p>ab hier als Zahl<br />
04 = 4<br />
50 = 80<br />
01 = 1<br />
02 = 2<br />
00 = 0<br />
0C = 12<br />
00 = 0<br />
0C = 12<br />
01 = 1<br />
01 = 1<br />
00 = 0<br />
00 = 0<br />
16 = 22<br />
7F = 127<br />
7F = 127<br />
55 = 85<br />
55 = 85</p>
<p>So weit so gut. Wenn ich jetzt die Datei einfach z.B. in ein char[86] einlese habe ich dem entsprechent test[0] = 5, test[1] = 2, test[2] = 6 und so weiter. Ich müßte jetzt also test[0] und test[1] zusammenfassen zu 52 und dieses wieder einem char zuweisen. Ich habe aber keine Idee wie das geht!!!!</p>
<p>Ich weiß auch nicht wie man so eine Ausgabe erzeugen soll!!!</p>
<p>Würde mich freuen wenn sich jemand meldet.</p>
<p>PS.: Ich muß ca. 10000 Zeilen von dieser Struktur einlesen.</p>
<p>Mit freundlichen Grüßen<br />
Olli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219776/problem-beim-einlesen-einer-datei</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 17:08:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219776.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 07 Aug 2008 13:09:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Einlesen einer Datei on Thu, 07 Aug 2008 13:09:58 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>hoffe mir kann hier jemand helfen. Ich möchte unter c++ eine Datei einlesen.</p>
<p>526561676565202004500102000C000C01010000167F7F5555</p>
<p>Dies ist der Inhalt der TXT Datei. Ich weiß auch wie ich den Inhalt zu bewerten habe.</p>
<p>52 = R<br />
65 = e<br />
61 = a<br />
67 = g<br />
65 = e<br />
65 = e<br />
20 = leer Zeichen<br />
20 = leer Zeichen</p>
<p>ab hier als Zahl<br />
04 = 4<br />
50 = 80<br />
01 = 1<br />
02 = 2<br />
00 = 0<br />
0C = 12<br />
00 = 0<br />
0C = 12<br />
01 = 1<br />
01 = 1<br />
00 = 0<br />
00 = 0<br />
16 = 22<br />
7F = 127<br />
7F = 127<br />
55 = 85<br />
55 = 85</p>
<p>So weit so gut. Wenn ich jetzt die Datei einfach z.B. in ein char[86] einlese habe ich dem entsprechent test[0] = 5, test[1] = 2, test[2] = 6 und so weiter. Ich müßte jetzt also test[0] und test[1] zusammenfassen zu 52 und dieses wieder einem char zuweisen. Ich habe aber keine Idee wie das geht!!!!</p>
<p>Ich weiß auch nicht wie man so eine Ausgabe erzeugen soll!!!</p>
<p>Würde mich freuen wenn sich jemand meldet.</p>
<p>PS.: Ich muß ca. 10000 Zeilen von dieser Struktur einlesen.</p>
<p>Mit freundlichen Grüßen<br />
Olli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560864</guid><dc:creator><![CDATA[Oliver Dötsch]]></dc:creator><pubDate>Thu, 07 Aug 2008 13:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer Datei on Thu, 07 Aug 2008 13:16:15 GMT]]></title><description><![CDATA[<p>Also grundsätzlich würde ich da Abstände machen, dann kannst du ganz einfach mit dem &gt;&gt; Operator strings einlesen und dann konvertieren.<br />
Wenn es aber so ist, würde ich das in etwa so machen:</p>
<pre><code class="language-cpp">#include &lt;sstream&gt;

..

std::stringstream str;
str &lt;&lt; test[0] &lt;&lt; test[1]
int zahl = 0;

str &gt;&gt; zahl;
</code></pre>
<p>Davon gehe ich einfach mal aus, dass jedes Zeichen, dass du einliest 2 char beansprucht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560866</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 07 Aug 2008 13:16:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer Datei on Fri, 08 Aug 2008 07:20:27 GMT]]></title><description><![CDATA[<p>Hallo Olli,</p>
<p>bau Dir erstmal kleine Helferleins zum Umrechnen von HexCode nach int und zum Einlesen einer Zahl bzw. eines Zeichens. Das Einlesen der von Dir angegebenen Zeile sieht dann so aus:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;cassert&gt;
#include &lt;iostream&gt;
#include &lt;iterator&gt;     // ostream_iterator
#include &lt;string&gt;
#include &lt;vector&gt;

int hex_code( char c )
{
    if( c &gt;= '0' &amp;&amp; c &lt;= '9' )
        return c - '0';
    if( c &gt;= 'A' &amp;&amp; c &lt;= 'F' )
        return c - ('A' - 10);
    assert((&quot;kein Hexcode&quot;, 0));
    return 0;
}

struct Char // ein zu lesendes Zeichen
{
    explicit Char( char&amp; c ) : m_c( c ) {}
    friend std::istream&amp; operator&gt;&gt;( std::istream&amp; in, const Char&amp; c )
    {
        char c1, c2;
        if( in &gt;&gt; c1 &gt;&gt; c2 )
        {
            c.m_c = hex_code( c1 ) * 16 + hex_code( c2 );
        }
        return in;
    }
private:
    char&amp; m_c;
};

int main()
{
    using namespace std;
    ifstream file( &quot;input.txt&quot; );
    string txt;     // der Text
    vector&lt; int &gt; zahlen; // und die Zahlen
    int i = 0;
    for( char c; file &gt;&gt; Char( c ); ++i )  // Lesen bis EOF
    {
        if( i &lt; 8 )   // die ersten 8 Zeichen sollen Text sein
        {
            if( c != ' ' ) txt.push_back( c );
        }
        else
            zahlen.push_back( static_cast&lt; unsigned char &gt;( c ) );
    }

    cout &lt;&lt; &quot;Text: &quot; &lt;&lt; txt &lt;&lt; endl;
    copy( zahlen.begin(), zahlen.end(), ostream_iterator&lt; int &gt;( cout &lt;&lt; &quot;&gt; &quot;, &quot; &quot; ) );
    cout &lt;&lt; endl;

    return 0;
}
</code></pre>
<p>Wenn Du mehrere solcher Zeilen lesen willst, kommst es jetzt darauf an, wie eine Zeile genau formatiert ist.</p>
<p>Sind immer die ersten 8 Zeichen die Zeichen eines Textes (exklusive der Spaces)? ist die Anzahl der Zahlen immer gleich (hier 17) oder dient das Zeilenende als Delimiter?</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561248</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Fri, 08 Aug 2008 07:20:27 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer Datei on Fri, 08 Aug 2008 12:22:10 GMT]]></title><description><![CDATA[<p>Hallo Werner,</p>
<p>vielen dank für deine Antwort( natürlich auch an drakon). Die Idee mit der Klasse ist Super. Ich war hier gedanklich voll auf dem falschen Dampfer.</p>
<p>Noch mal vielen vielen DANK!</p>
<p>Gruß<br />
Olli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561424</guid><dc:creator><![CDATA[Oliver Dötsch]]></dc:creator><pubDate>Fri, 08 Aug 2008 12:22:10 GMT</pubDate></item></channel></rss>