<?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[zahlen auslesen, und in einem char speichern]]></title><description><![CDATA[<p>Ich habe eine Datei mit mehreren zahlen, die ich in ein Array speichern möchte, aus platzgründen möchte ich diese Zahlen nun aber in einem char speichern. Wie kann ich die Datei so einlesen, dass er nicht 0 als Zeichen (also den ASCII wert davon) speichert, sondern 0 als Zahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167942/zahlen-auslesen-und-in-einem-char-speichern</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 05:09:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167942.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 Dec 2006 21:40:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sat, 16 Dec 2006 21:42:11 GMT]]></title><description><![CDATA[<p>Ich habe eine Datei mit mehreren zahlen, die ich in ein Array speichern möchte, aus platzgründen möchte ich diese Zahlen nun aber in einem char speichern. Wie kann ich die Datei so einlesen, dass er nicht 0 als Zeichen (also den ASCII wert davon) speichert, sondern 0 als Zahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193131</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Sat, 16 Dec 2006 21:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sat, 16 Dec 2006 21:53:10 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Du musst die Zahl halt in ein Zeichen casten.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193137</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 16 Dec 2006 21:53:10 GMT</pubDate></item><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sat, 16 Dec 2006 21:55:47 GMT]]></title><description><![CDATA[<p>mit casten allein kommst da nicht weiter, das musst du schon ordnungsgemäß umwandeln. entweder umständlich mittels streams oder altherkömmlich, indem du vorm casten einfach 48 draufaddierst (solang es sich um einzelne ziffern handelt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193138</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Sat, 16 Dec 2006 21:55:47 GMT</pubDate></item><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sat, 16 Dec 2006 22:26:24 GMT]]></title><description><![CDATA[<p>itoa</p>
<p>bei mehrstelligen zahlen</p>
<p>bsp.</p>
<pre><code class="language-cpp">int i= 139; 
char c;
char array[1000];
int iC=0;
while(rest){

  itoa(c,i%10);
  rest= i%10;
  array[iC++];
  i-= i%10;
  i/= 10;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1193148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193148</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Sat, 16 Dec 2006 22:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sat, 16 Dec 2006 23:02:22 GMT]]></title><description><![CDATA[<p>lies es eben als ein Integer-Typ (short, int, long whatever) ein und kopier es dann in ein char.</p>
<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>itoa</p>
</blockquote>
<p>itoa gibt es nicht im Standard! Außerdem würde ihn das sicher nicht weiterbringen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193155</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Sat, 16 Dec 2006 23:02:22 GMT</pubDate></item><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sat, 16 Dec 2006 23:11:00 GMT]]></title><description><![CDATA[<p>Krux schrieb:</p>
<blockquote>
<p>Ich habe eine Datei mit mehreren zahlen, die ich in ein Array speichern möchte, aus platzgründen möchte ich diese Zahlen nun aber in einem char speichern. Wie kann ich die Datei so einlesen, dass er nicht 0 als Zeichen (also den ASCII wert davon) speichert, sondern 0 als Zahl.</p>
</blockquote>
<p>Hallo,<br />
Das ASCII-Zeichen 0 entspricht dem Wert 48. Du mußt nur von jedem Ziffernzeichen (0 bis 9) 48 abziehen und dann hast du den Zahlenwert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193161</guid><dc:creator><![CDATA[Andromeda]]></dc:creator><pubDate>Sat, 16 Dec 2006 23:11:00 GMT</pubDate></item><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sun, 17 Dec 2006 00:27:38 GMT]]></title><description><![CDATA[<p>Andromeda schrieb:</p>
<blockquote>
<p>Krux schrieb:</p>
<blockquote>
<p>Ich habe eine Datei mit mehreren zahlen, die ich in ein Array speichern möchte, aus platzgründen möchte ich diese Zahlen nun aber in einem char speichern. Wie kann ich die Datei so einlesen, dass er nicht 0 als Zeichen (also den ASCII wert davon) speichert, sondern 0 als Zahl.</p>
</blockquote>
<p>Hallo,<br />
Das ASCII-Zeichen 0 entspricht dem Wert 48. Du mußt nur von jedem Ziffernzeichen (0 bis 9) 48 abziehen und dann hast du den Zahlenwert.</p>
</blockquote>
<pre><code class="language-cpp">char c;
// ...
char zahl = c - '0';
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1193181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193181</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Sun, 17 Dec 2006 00:27:38 GMT</pubDate></item><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sun, 17 Dec 2006 01:43:57 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p>Andromeda schrieb:</p>
<blockquote>
<p>Krux schrieb:</p>
<blockquote>
<p>Ich habe eine Datei mit mehreren zahlen, die ich in ein Array speichern möchte, aus platzgründen möchte ich diese Zahlen nun aber in einem char speichern. Wie kann ich die Datei so einlesen, dass er nicht 0 als Zeichen (also den ASCII wert davon) speichert, sondern 0 als Zahl.</p>
</blockquote>
<p>Hallo,<br />
Das ASCII-Zeichen 0 entspricht dem Wert 48. Du mußt nur von jedem Ziffernzeichen (0 bis 9) 48 abziehen und dann hast du den Zahlenwert.</p>
</blockquote>
<pre><code class="language-cpp">char c;
// ...
char zahl = c - '0';
</code></pre>
</blockquote>
<p>Die Version ist nicht so toll, da hab ich nur noch die Ziffern von 0 bis 9, aber bei einer 255 macht der schlap, da ist die vorherige version schon besser, aber geht das nicht auf kosten der geschwindigkeit, wenn man immer erst alles in großen Daatentypen einliest, und dann umformt? Eigentlich ist ja C++ schon nicht schlecht, aber in solchen sachen, da haben andere sprachen schon ihre Vorteile...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193195</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Sun, 17 Dec 2006 01:43:57 GMT</pubDate></item><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sun, 17 Dec 2006 03:59:07 GMT]]></title><description><![CDATA[<p>Gehe mal davon aus, dass deine Zahlen so in der Datei stehen: 211 33 123 22 255 usw.<br />
Speichern willst du in &quot;unsigned char&quot; Wertebereich 0 bis 255<br />
Man kann sich dafür 'ne kleine Hilfsfunktion schreiben:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
using namespace std;

unsigned char convert(ifstream&amp; ein)
{
   string str;
        ein &gt;&gt; str;
   istringstream istr(str);
   int c;     
        istr &gt;&gt; c;
        return static_cast&lt;unsigned char&gt;(c);
}

int main( )
{
    ifstream ein(&quot;c:\\zahlen.txt&quot;);   
    unsigned char tab[1000]; 

        for (int i = 0; ein.good(); i++)
                tab[i] = convert(ein);
}
</code></pre>
<p>:xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193206</guid><dc:creator><![CDATA[balduin]]></dc:creator><pubDate>Sun, 17 Dec 2006 03:59:07 GMT</pubDate></item><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sun, 17 Dec 2006 04:21:52 GMT]]></title><description><![CDATA[<p>Entschuldigung - die Hilfsfunktion ist unnötig und umständlich, machs so:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
using namespace std;

int main( )
{
    ifstream ein(&quot;c:\\zahlen.txt&quot;);   
    unsigned char tab[1000]; 
    int c;    
        for (int i = 0; ein.good(); i++)
        {
                ein &gt;&gt; c;
                tab[i] = static_cast&lt;unsigned int&gt; (c);
        }
}
</code></pre>
<p>:xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193210</guid><dc:creator><![CDATA[balduin]]></dc:creator><pubDate>Sun, 17 Dec 2006 04:21:52 GMT</pubDate></item><item><title><![CDATA[Reply to zahlen auslesen, und in einem char speichern on Sun, 17 Dec 2006 11:39:59 GMT]]></title><description><![CDATA[<p>Mein Vorschlag:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;algorithm&gt;    // copy
#include &lt;iterator&gt;     // istream_iterator
#include &lt;limits&gt;
#include &lt;cassert&gt;
#include &lt;vector&gt;

struct ByteIO
{
    typedef unsigned char byte_type;
    operator byte_type() const { return m_byte; }
    friend std::istream&amp; operator&gt;&gt;( std::istream&amp; in, ByteIO&amp; br )
    {
        unsigned i;
        if( in &gt;&gt; i )
        {
            assert( i &lt;= std::numeric_limits&lt; byte_type &gt;::max() ); // bzw. Exception
            br.m_byte = static_cast&lt; byte_type &gt;( i );
        }
        return in;
    }
private:
    byte_type m_byte;
};

int main()
{
    using namespace std;
    vector&lt; unsigned char &gt; tab;
    ifstream datei( &quot;input.txt&quot; );
    copy( istream_iterator&lt; ByteIO &gt;( datei ), istream_iterator&lt; ByteIO &gt;(), back_inserter( tab ) );
    return 0;
}
</code></pre>
<p>Gruß Werner :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193330</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sun, 17 Dec 2006 11:39:59 GMT</pubDate></item></channel></rss>