<?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[Variable außerhalb einer Schleife nicht mehr sichtbar]]></title><description><![CDATA[<pre><code>#include &lt;cstdlib&gt;
#include &lt;fstream&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

string crypt(string cont);

int main(int argc, char *argv[])
{
    string cont;

    cout&lt;&lt;&quot;Hallo!&quot;&lt;&lt;endl;
    ifstream in(&quot;quelle.txt&quot;);
    for(int i = 0; !in.eof(); ++i)
            cont[i]= in.get();
    cont = crypt(cont);
    ofstream out(&quot;ziel.txt&quot;);
    out&lt;&lt;cont;
    cout&lt;&lt;&quot;Vorgang erfolgreich abgeschlossen&quot;&lt;&lt;endl;

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}

string crypt(string cont)
{
       string pwd;
       cout&lt;&lt;&quot;Bitte Passwort eingeben!&quot;&lt;&lt;endl;
       cin&gt;&gt;pwd;
       int j = 0;
       for(int i = 0; i &lt; cont.length(); ++i)
       {
               cont[i] ^= pwd[j++];
               if(j == cont.length())
                       j = 0;        
       }
       return cont; //^^
}
</code></pre>
<p>durch n bissle debug code (den ich inzwischen entfernt hab) hab ich herrausgefunden, das die variable (typ string) cont innerhalb der schleid´fe c´korrekt befüllt ist, nahc der schleife aber leer ist!<br />
Woran lkiegt das, ich hab die variable ja schließlich außerhalb der schleife deklariert</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171377/variable-außerhalb-einer-schleife-nicht-mehr-sichtbar</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 11:55:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171377.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Jan 2007 20:17:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variable außerhalb einer Schleife nicht mehr sichtbar on Wed, 24 Jan 2007 20:17:46 GMT]]></title><description><![CDATA[<pre><code>#include &lt;cstdlib&gt;
#include &lt;fstream&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

string crypt(string cont);

int main(int argc, char *argv[])
{
    string cont;

    cout&lt;&lt;&quot;Hallo!&quot;&lt;&lt;endl;
    ifstream in(&quot;quelle.txt&quot;);
    for(int i = 0; !in.eof(); ++i)
            cont[i]= in.get();
    cont = crypt(cont);
    ofstream out(&quot;ziel.txt&quot;);
    out&lt;&lt;cont;
    cout&lt;&lt;&quot;Vorgang erfolgreich abgeschlossen&quot;&lt;&lt;endl;

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}

string crypt(string cont)
{
       string pwd;
       cout&lt;&lt;&quot;Bitte Passwort eingeben!&quot;&lt;&lt;endl;
       cin&gt;&gt;pwd;
       int j = 0;
       for(int i = 0; i &lt; cont.length(); ++i)
       {
               cont[i] ^= pwd[j++];
               if(j == cont.length())
                       j = 0;        
       }
       return cont; //^^
}
</code></pre>
<p>durch n bissle debug code (den ich inzwischen entfernt hab) hab ich herrausgefunden, das die variable (typ string) cont innerhalb der schleid´fe c´korrekt befüllt ist, nahc der schleife aber leer ist!<br />
Woran lkiegt das, ich hab die variable ja schließlich außerhalb der schleife deklariert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216386</guid><dc:creator><![CDATA[43R0N]]></dc:creator><pubDate>Wed, 24 Jan 2007 20:17:46 GMT</pubDate></item><item><title><![CDATA[Reply to Variable außerhalb einer Schleife nicht mehr sichtbar on Wed, 24 Jan 2007 20:55:15 GMT]]></title><description><![CDATA[<p>hmmm, ich finde das auch komisch .. Aber probier mal den string 'cont' arrayweise auszugeben, etwa so:</p>
<p>Anscheinend funktioniert es mit dem get () nicht, ich weis auch nicht warum. Es gibt aber eine andere Methode, die auch funktioniert. Ersetze einfach die obere Schleife mit folgender:</p>
<pre><code class="language-cpp">for(int i = 0; !in.eof(); i++) 
    {
        getline (in, cont);
    }
</code></pre>
<p>Grüße,<br />
mikey.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216402</guid><dc:creator><![CDATA[mikey]]></dc:creator><pubDate>Wed, 24 Jan 2007 20:55:15 GMT</pubDate></item><item><title><![CDATA[Reply to Variable außerhalb einer Schleife nicht mehr sichtbar on Wed, 24 Jan 2007 20:52:52 GMT]]></title><description><![CDATA[<p>Hi, das Problem liegt dadran, das dein string cont am Anfang die Länge NULL hat...<br />
Wenn du dann cont[i] = .. schreibst, schreibst du auf unintialisierten Speicher <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Abhilfe:</p>
<pre><code class="language-cpp">string cont = &quot;&quot;;
//...
for(...) const += in.get();
</code></pre>
<p>Zu dem ist deine Einlese Funktion nicht ganz korrekt, siehe hier und finde deinen Fehler <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="🙂"
    /> : <a href="http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=eof#Answ" rel="nofollow">http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=eof#Answ</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216408</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 24 Jan 2007 20:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to Variable außerhalb einer Schleife nicht mehr sichtbar on Thu, 25 Jan 2007 09:17:37 GMT]]></title><description><![CDATA[<p>danke, ghet nun</p>
<p>nur kommt immer beim zurückrechnen ein leicht anderes ergebnis raus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216636</guid><dc:creator><![CDATA[43R0N]]></dc:creator><pubDate>Thu, 25 Jan 2007 09:17:37 GMT</pubDate></item><item><title><![CDATA[Reply to Variable außerhalb einer Schleife nicht mehr sichtbar on Thu, 25 Jan 2007 09:10:37 GMT]]></title><description><![CDATA[<p>alternativ geht auch</p>
<pre><code class="language-cpp">cont.push_back(in.get());
</code></pre>
<p>@Freak_Coder<br />
Deine Variante finde ich etwas kritisch. Woher weißt du, wie groß der interne Puffer im string nach string=&quot;&quot; ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216641</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 25 Jan 2007 09:10:37 GMT</pubDate></item><item><title><![CDATA[Reply to Variable außerhalb einer Schleife nicht mehr sichtbar on Thu, 25 Jan 2007 20:00:17 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>@Freak_Coder<br />
Deine Variante finde ich etwas kritisch. Woher weißt du, wie groß der interne Puffer im string nach string=&quot;&quot; ist?</p>
</blockquote>
<p>Ich denke der Puffer ist bei string=&quot;&quot; noch &quot;NULL&quot;. Aber das ist ja doch egal wie groß der ist, sobald ich += wird er ja eh vergößert ...</p>
<p>Was genau ist daran kritisch, sollte ich noch was beachten ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217149</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 25 Jan 2007 20:00:17 GMT</pubDate></item></channel></rss>