<?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[scanf kickt mich aus dem Programm raus...]]></title><description><![CDATA[<p>Hallo Looooite!</p>
<p>Ich habe einen Code in C++ geschrieben, der mir eigentlich ein CD-Laufwerk öffnen soll:</p>
<pre><code class="language-cpp">int main()
{
    string drive = &quot;Z&quot;;
    printf(&quot;What's the letter of your CD-Drive?\n&quot;);
    scanf (&quot;%s&quot;, &amp;drive);
    printf(&quot;Drive opening now...&quot;);
    OpenCloseDoor(drive, true);
    printf(&quot;Press any key to close the CD-Drive&quot;);
    getch();
    OpenCloseDoor(drive, false);
    return 0;
}
</code></pre>
<p>Das Problem ist, dass wenn ich beim scanf Befehl ankomme, hört das Programm auf zu laufen (Direkt nach der Eingabe!) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Wenn ich den scanf Befehl ausklammere läuft jedoch alles richtig! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Ich wäre froh, wenn mir jemand von euch helfen könnte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Danke im Voraus<br />
Lg Rogon</p>
<p>PS: Hier noch der vollständige Code:</p>
<pre><code class="language-cpp">#include &quot;wtypes.h&quot;
#include &quot;winioctl.h&quot;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string&gt;
#include &lt;time.h&gt;
#include &lt;conio.h&gt;

using namespace std;

// DriveName specifies the cd drive name (as string, eg: &quot;D&quot;)
// Open specifies whether to open or close drive
bool OpenCloseDoor(const string&amp; DriveName, const bool Open)
{
   // Make drive name in the format &quot;\\.\D:&quot; where D is the cd drive
   const string Drive = string(&quot;\\\\.\\&quot;) + DriveName + string(&quot;:&quot;);
   // Treat cd drive as an IO device file
   HANDLE hDrive = INVALID_HANDLE_VALUE;
   hDrive = CreateFile(Drive.c_str(), GENERIC_READ,
                       FILE_SHARE_READ | FILE_SHARE_WRITE,
                       NULL, OPEN_EXISTING,
                       FILE_ATTRIBUTE_NORMAL,
                       NULL);

   // Open or close as needed
   BOOL bRetVal = FALSE;
   if ((hDrive != INVALID_HANDLE_VALUE) &amp;&amp; (NO_ERROR == GetLastError()))
   {
      DWORD dwDummy = 0;
      if (Open)
      {
         bRetVal = DeviceIoControl(hDrive, IOCTL_STORAGE_EJECT_MEDIA,
                                   NULL, 0, NULL, 0, &amp;dwDummy, NULL);
      }
      else
      {
         bRetVal = DeviceIoControl(hDrive, IOCTL_STORAGE_LOAD_MEDIA,
                                   NULL, 0, NULL, 0, &amp;dwDummy, NULL);
      }
   }
   return (!!bRetVal);  // To avoid performance warning
}

int main()
{
    string drive = &quot;Z&quot;;
    printf(&quot;What's the letter of your CD-Drive?\n&quot;);
    scanf (&quot;%s&quot;, &amp;drive);
    system (&quot;cls&quot;);
    printf(&quot;Drive opening now...&quot;);
    Sleep(2000);
    OpenCloseDoor(drive, true);
    system(&quot;cls&quot;);
    Sleep(1000);
    printf(&quot;Press any key to close the CD-Drive&quot;);
    getch();
    OpenCloseDoor(drive, false);
    return 0;
}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/303270/scanf-kickt-mich-aus-dem-programm-raus</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 09:16:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303270.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 May 2012 14:09:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 14:09:29 GMT]]></title><description><![CDATA[<p>Hallo Looooite!</p>
<p>Ich habe einen Code in C++ geschrieben, der mir eigentlich ein CD-Laufwerk öffnen soll:</p>
<pre><code class="language-cpp">int main()
{
    string drive = &quot;Z&quot;;
    printf(&quot;What's the letter of your CD-Drive?\n&quot;);
    scanf (&quot;%s&quot;, &amp;drive);
    printf(&quot;Drive opening now...&quot;);
    OpenCloseDoor(drive, true);
    printf(&quot;Press any key to close the CD-Drive&quot;);
    getch();
    OpenCloseDoor(drive, false);
    return 0;
}
</code></pre>
<p>Das Problem ist, dass wenn ich beim scanf Befehl ankomme, hört das Programm auf zu laufen (Direkt nach der Eingabe!) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Wenn ich den scanf Befehl ausklammere läuft jedoch alles richtig! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Ich wäre froh, wenn mir jemand von euch helfen könnte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Danke im Voraus<br />
Lg Rogon</p>
<p>PS: Hier noch der vollständige Code:</p>
<pre><code class="language-cpp">#include &quot;wtypes.h&quot;
#include &quot;winioctl.h&quot;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string&gt;
#include &lt;time.h&gt;
#include &lt;conio.h&gt;

using namespace std;

// DriveName specifies the cd drive name (as string, eg: &quot;D&quot;)
// Open specifies whether to open or close drive
bool OpenCloseDoor(const string&amp; DriveName, const bool Open)
{
   // Make drive name in the format &quot;\\.\D:&quot; where D is the cd drive
   const string Drive = string(&quot;\\\\.\\&quot;) + DriveName + string(&quot;:&quot;);
   // Treat cd drive as an IO device file
   HANDLE hDrive = INVALID_HANDLE_VALUE;
   hDrive = CreateFile(Drive.c_str(), GENERIC_READ,
                       FILE_SHARE_READ | FILE_SHARE_WRITE,
                       NULL, OPEN_EXISTING,
                       FILE_ATTRIBUTE_NORMAL,
                       NULL);

   // Open or close as needed
   BOOL bRetVal = FALSE;
   if ((hDrive != INVALID_HANDLE_VALUE) &amp;&amp; (NO_ERROR == GetLastError()))
   {
      DWORD dwDummy = 0;
      if (Open)
      {
         bRetVal = DeviceIoControl(hDrive, IOCTL_STORAGE_EJECT_MEDIA,
                                   NULL, 0, NULL, 0, &amp;dwDummy, NULL);
      }
      else
      {
         bRetVal = DeviceIoControl(hDrive, IOCTL_STORAGE_LOAD_MEDIA,
                                   NULL, 0, NULL, 0, &amp;dwDummy, NULL);
      }
   }
   return (!!bRetVal);  // To avoid performance warning
}

int main()
{
    string drive = &quot;Z&quot;;
    printf(&quot;What's the letter of your CD-Drive?\n&quot;);
    scanf (&quot;%s&quot;, &amp;drive);
    system (&quot;cls&quot;);
    printf(&quot;Drive opening now...&quot;);
    Sleep(2000);
    OpenCloseDoor(drive, true);
    system(&quot;cls&quot;);
    Sleep(1000);
    printf(&quot;Press any key to close the CD-Drive&quot;);
    getch();
    OpenCloseDoor(drive, false);
    return 0;
}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209868</guid><dc:creator><![CDATA[rogon]]></dc:creator><pubDate>Wed, 09 May 2012 14:09:29 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 14:12:51 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">string drive = &quot;Z&quot;;
    scanf (&quot;%s&quot;, &amp;drive);
</code></pre>
<p>Ist das ernst gemeint?</p>
<p>Nimm</p>
<pre><code class="language-cpp">std::cin &gt;&gt; drive;
</code></pre>
<p>und misch in Zukunft nicht C und C++ so, als handele es sich um die selbe Sprache. Scanf kann mit komplexen Datentypen schlicht nicht umgehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209871</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Wed, 09 May 2012 14:12:51 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 14:20:00 GMT]]></title><description><![CDATA[<p>@seldon:</p>
<p>Hallo Seldon!<br />
Danke für die schnelle Antwort! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Eigentlich dachte ich, dass C beim C++ abwärtskompatibel ist!</p>
<p>Also wenn ich <strong>std::cin &gt;&gt; drive;</strong> statt <strong>scanf (&quot;%s&quot;, &amp;drive);</strong> eingebe gibt er mir folgenden Fehler:</p>
<p>error: 'cin' is not a member of 'std'</p>
<p>Hast du eine idee?</p>
<p>Lg Rogon <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209873</guid><dc:creator><![CDATA[rogon]]></dc:creator><pubDate>Wed, 09 May 2012 14:20:00 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 14:30:59 GMT]]></title><description><![CDATA[<p>C kann zu C++ schon deshalb nicht abwärtskompatibel sein, weil C älter ist als C++. Es sind stumpf zwei verschiedene Sprachen, und es ist fatal, die eine wie die andere behandeln zu wollen oder sie ohne viel Vorsicht zu vermischen. Guter C++-Code und guter C-Code haben wenig miteinander gemein.</p>
<p>Was den Compilerfehler angeht, std::cout und std::cin befinden sich im Header &lt;iostream&gt;, also wird</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
</code></pre>
<p>das Problem lösen. Das steht allerdings in jedem C++-Buch auf den ersten Seiten, also wundert es mich, dass du das nicht weißt - mit einiger Wahrscheinlichkeit solltest du deine Lernmethoden überdenken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209876</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Wed, 09 May 2012 14:30:59 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 14:36:14 GMT]]></title><description><![CDATA[<p>#include &lt;iostream&gt;<br />
using namespace std; // So ersparst du dir immer std:: zu schreiben<br />
// aber nicht in Klassen verwenden möglichst Lokal<br />
// halten.</p>
<p>int main()<br />
{<br />
cout&lt;&lt;&quot;hallo&quot;;<br />
return 0;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209881</guid><dc:creator><![CDATA[O_O]]></dc:creator><pubDate>Wed, 09 May 2012 14:36:14 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 14:38:57 GMT]]></title><description><![CDATA[<p>Wow, danke! Es funktioniert! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Ich kannte den std Befehl vorher noch nicht, aber ich danke dir auf jeden fall sehr, dass du mir in so weniger Zeit helfen konntest!<br />
Das ist super! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Liebe Grüsse<br />
Rogon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209883</guid><dc:creator><![CDATA[rogon]]></dc:creator><pubDate>Wed, 09 May 2012 14:38:57 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 14:56:46 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title="O_O"
      alt="😮"
    /> schrieb:</p>
<blockquote>
<p>using namespace std; // So ersparst du dir immer std:: zu schreiben<br />
// aber nicht in Klassen verwenden möglichst Lokal<br />
// halten.</p>
</blockquote>
<p>Neh, gar nicht verwenden. Wenn überhaupt, dann einzelne Bezeichnernamen importieren. Wann kapieren die Leute endlich das der Sinn von Namensräumen nicht der ist, sie wieder komplett auszuschütten?</p>
<p>@TE: Lern Grundlagen (darunter fallen auch Namensräume <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="😉"
    /> ), denn dass du so etwas triviales wie std::cout nicht kennst, ist sehr merkwürdig.. hol dir ein gutes Buch <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209888</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 09 May 2012 14:56:46 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 14:58:35 GMT]]></title><description><![CDATA[<p>Den kanntest du nicht, weil du C lernst. Die Zeile mit dem string war bisher die einzige C++-Zeile in deinem Programm. Wie schon gesagt, steht das mit std:: und cin/cout, auf der ersten Seite in jedem C++-Buch. Du solltest wohl eher lernen, wie man in C mit Zeichenketten umgeht, das geht nämlich ganz anders.</p>
<blockquote>
<p>Neh, gar nicht verwenden. Wenn überhaupt, dann einzelne Bezeichnernamen importieren. Wann kapieren die Leute endlich das der Sinn von Namensräumen nicht der ist, sie wieder komplett auszuschütten?</p>
</blockquote>
<p>Ich zweifle deine Interpretation von Namensräumen an. Es ist nichts schlechtes daran, für sich selber einen Namensraum irgendwo komplett auszuschütten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209889</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 09 May 2012 14:58:35 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 14:59:50 GMT]]></title><description><![CDATA[<p>using-Direktiven sind manchmal sogar nötig, um ADL zu triggern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209890</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 09 May 2012 14:59:50 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 15:11:16 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Es ist nichts schlechtes daran, für sich selber einen Namensraum irgendwo komplett auszuschütten.</p>
</blockquote>
<p>Ja, aber Anfängern wird oft vermittelt: Scheiß auf std::, schütte es einfach in jedem Projekt in der main() und in allen Headern aus - und mehr wird nicht gesagt. Das ist sehr schade. Ich finde, man sollte <code>using namespace ...;</code> wie dynamische Speicherallokierung durch <code>new</code> &amp; <code>delete</code> erst als Zusatz lernen, und nicht als Selbstverständlichkeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209894</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 09 May 2012 15:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 15:18:39 GMT]]></title><description><![CDATA[<p>Hoppla, jetzt verstehe ich gar nichts mehr! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Ich habe mir den Code aus verschiedenen Codes im Internet zusammengestellt und weiss eigentlich nicht genau was alle Befehle bedeuten!</p>
<p>Das using namespace scheint ja wichtig zu sein <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="🙂"
    /> könnte es mir bitte jemand kurz erklären?</p>
<p>Und was ist denn <strong>std::cin &gt;&gt; drive;</strong>?<br />
Ich kenne eben nur die C Programmierung und bin kein Profi!</p>
<p>Lg<br />
Rogon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209896</guid><dc:creator><![CDATA[rogon]]></dc:creator><pubDate>Wed, 09 May 2012 15:18:39 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 15:21:12 GMT]]></title><description><![CDATA[<p>rogon schrieb:</p>
<blockquote>
<p>Ich habe mir den Code aus verschiedenen Codes im Internet zusammengestellt und weiss eigentlich nicht genau was alle Befehle bedeuten!</p>
</blockquote>
<p><strong>O.O</strong></p>
<p>Hast du sie noch alle!? So lernt man doch kein C++? Hol dir schnell ein gutes Buch! Viel, das im Internet steht ist schrott.<br />
C und C++ sind an sich völlig verschiedene Sprachen mit gleicher Syntax. Das verwirrt manchmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209898</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 09 May 2012 15:21:12 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 15:29:33 GMT]]></title><description><![CDATA[<blockquote>
<p>Hast du sie noch alle!? So lernt man doch kein C++?</p>
</blockquote>
<p>Naja, ich kenne das C++ ja fast nicht!<br />
Ich habe bisher nur das C gelernt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Was empfiehlst du mir beim C++ für ein <em><strong>gutes</strong></em> Buch?</p>
<p>Und was sind denn das jetzt für Befehle?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209901</guid><dc:creator><![CDATA[rogon]]></dc:creator><pubDate>Wed, 09 May 2012 15:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 15:33:51 GMT]]></title><description><![CDATA[<p>rogon schrieb:</p>
<blockquote>
<p>Was empfiehlst du mir beim C++ für ein <em><strong>gutes</strong></em> Buch?</p>
</blockquote>
<p>Es gibt sehr viele.<br />
Extra dafür gibt es hier im Forum einen sog. Buchthread mit vielen guten Beiträgen zum Thema C++-Buch.</p>
<p>Edit: Hier im <a href="http://www.c-plusplus.net/forum/251551" rel="nofollow">FAQ</a> (wo du auch öfter reinschauen solltest <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2209902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209902</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 09 May 2012 15:33:51 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 09 May 2012 17:01:50 GMT]]></title><description><![CDATA[<p>Was willst du denn jetzt überhaupt? C oder C++? Wie schon gesagt, hast du bisher C gelernt, aber durch dein</p>
<blockquote>
<p>Ich habe mir den Code aus verschiedenen Codes im Internet zusammengestellt und weiss eigentlich nicht genau was alle Befehle bedeuten!</p>
</blockquote>
<p>hast du versehentlich C++ eingebaut, was natürlich schief ging. Aber da du dein C anscheinend mit einem C++-Compiler übersetzt hast, war es zumindest grammatikalisch richtig, weswegen dieser sich nicht beschwert hat. Was natürlich auch schlecht ist, das sollte man nie machen.</p>
<p>C und C++ sind wirklich sehr verschieden, sie haben bloß eine ähnliche Grammatik und manche Wörter sind gleich. Ungefähr so, wie wenn normale Leute mit Juristen reden. Man merkt zwar, dass die Sprache irgendwie ähnlich ist, aber man versteht nix und am Ende ist man sein Geld los.</p>
<p>Wenn du jetzt anfängst, auf C++ umzusteigen, dann darfst/solltest du alles vergessen, was du bisher gelernt hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209936</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 09 May 2012 17:01:50 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Thu, 10 May 2012 07:33:13 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>using-Direktiven sind manchmal sogar nötig, um ADL zu triggern.</p>
</blockquote>
<p>Bitte was?! Kannst Du bitte erklären, was Du mit diesem Satz meinst? So klingt das erstmal für mich nach einer falschen Aussage. Aber vielleicht missverstehe ich Dich ja auch ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210066</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Thu, 10 May 2012 07:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Thu, 10 May 2012 07:36:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;typename T&gt;
void foo(T&amp; a, T&amp; b)
{
    std::swap(a, b); // kein ADL
}

template &lt;typename T&gt;
void bar(T&amp; a, T&amp; b)
{
    using std::swap;
    swap(a, b); // ADL
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2210067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210067</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 10 May 2012 07:36:35 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Thu, 10 May 2012 07:51:56 GMT]]></title><description><![CDATA[<p>rogon schrieb:</p>
<blockquote>
<p>Eigentlich dachte ich, dass C beim C++ abwärtskompatibel ist!<br />
[...]<br />
<code>std::string drive;</code><br />
<code>std::cin &gt;&gt; drive;</code><br />
[...]<br />
<code>std::string drive;</code><br />
<code>scanf (&quot;%s&quot;, &amp;drive);</code></p>
</blockquote>
<p>Im Wesentlichen fliegt Dir das hier um die Ohren, weil Du lügst. Wegen &quot;%s&quot; erwartet scanf eine Adresse vom Typ char* und nicht string*. Die Sprache an sich lässt so etwas zu, weil die Sache mit den variadischen Funktionen in C überhaupt nicht typsicher ist.</p>
<p>Guck mal, ob Du bei Deinem Compiler so konfiguriert bekommst, dass er solche Sachen prüft und vor Missbrauch warnt. Die Funktionssignatur gibt zwar nicht genug Informationen her, um so etwas überprüfen zu können, aber da solche Fehler in C relativ prominent sind, hat der eine oder andere Compiler-Hersteller den Compilern den Zusammenhang zwischen dem Format-String und den folgenden Argumenten beigebracht.</p>
<p>Alternativ: Lass die Finger von Sachen, die nicht typsicher sind.</p>
<p>314159265358979 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">template &lt;typename T&gt;
void foo(T&amp; a, T&amp; b)
{
    std::swap(a, b); // kein ADL
}

template &lt;typename T&gt;
void bar(T&amp; a, T&amp; b)
{
    using std::swap;
    swap(a, b); // ADL
}
</code></pre>
</blockquote>
<p>Erstens ist das das keine using-Direktive sondern eine using-Deklaration.<br />
Zweitens triggerst Du hier nicht ADL per using-Deklaration sondern dadurch, dass das zweite swap unqualifiziert ist. Verbuchen wir das als ein Missverständnis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210069</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Thu, 10 May 2012 07:51:56 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Thu, 10 May 2012 08:01:23 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>Erstens ist das das keine using-Direktive sondern eine using-Deklaration.</p>
</blockquote>
<p>Ist dem so? Was ist dann eine Direktive?</p>
<p>krümelkacker schrieb:</p>
<blockquote>
<p>Zweitens triggerst Du hier nicht ADL per using-Deklaration sondern dadurch, dass das zweite swap unqualifiziert ist. Verbuchen wir das als ein Missverständnis.</p>
</blockquote>
<p>Strenggenommen ja. Aber ohne using würde die unqualifizierte Version nicht funktionieren...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210072</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 10 May 2012 08:01:23 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Thu, 10 May 2012 11:28:10 GMT]]></title><description><![CDATA[<p>Direktiven erkennst du am Schlüsselwort <code>namespace</code> . Also...</p>
<p><code>using namespace dings;</code> ist eine using-Direktive.<br />
<code>using std::swap;</code> ist eine using-Deklaration.</p>
<p>Ersteres sorgt dafür, dass, falls die Namenssuche im globalen Scope angelangt ist, auch Namen aus dings berücksichtigt werden.</p>
<p>Zweiteres führt den Namen einer Entität (Klasse, Funktion, etc, nur kein Namensraum) in den Scope ein, wo die using-Deklaration steht (typischerweise nicht der globale).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210136</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Thu, 10 May 2012 11:28:10 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Wed, 16 May 2012 06:49:29 GMT]]></title><description><![CDATA[<p>Aah! Ok, alles klar! <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>Ich möchte hier noch allen für die tollen Antworten danken!<br />
You Guys Rock! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Liebe Grüsse<br />
Rogon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212054</guid><dc:creator><![CDATA[rogon]]></dc:creator><pubDate>Wed, 16 May 2012 06:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Thu, 17 May 2012 13:01:48 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Hol dir schnell ein gutes Buch! Viel, das im Internet steht ist schrott.</p>
</blockquote>
<p>Seit Du Dich hier austobst, wurde es noch mehr Schrott.<br />
Jeden Thread killst Du mit deinen Failtips. Macht keinen Spaß mehr hier zu lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212539</guid><dc:creator><![CDATA[lolalter]]></dc:creator><pubDate>Thu, 17 May 2012 13:01:48 GMT</pubDate></item><item><title><![CDATA[Reply to scanf kickt mich aus dem Programm raus... on Thu, 17 May 2012 13:31:11 GMT]]></title><description><![CDATA[<p>lolalter schrieb:</p>
<blockquote>
<p>Hacker schrieb:</p>
<blockquote>
<p>Hol dir schnell ein gutes Buch! Viel, das im Internet steht ist schrott.</p>
</blockquote>
<p>Seit Du Dich hier austobst, wurde es noch mehr Schrott.<br />
Jeden Thread killst Du mit deinen Failtips. Macht keinen Spaß mehr hier zu lesen.</p>
</blockquote>
<p>Mutig. Aber antstatt ihm eine Mail zu schreiben musst du hier noch weiterspammen... besser bist du auch nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212550</guid><dc:creator><![CDATA[alterlol]]></dc:creator><pubDate>Thu, 17 May 2012 13:31:11 GMT</pubDate></item></channel></rss>