<?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[Runtime Error]]></title><description><![CDATA[<p>Hi!<br />
Könnt ihr mir mal sagen wieso dieser Code ein Runtime Error bringt?</p>
<pre><code class="language-cpp">int s_packets = 0;
    int posit2= 0;
    while(s_packets&lt;=packets &amp; packets != 0)
    {
          string temp_buffer;
          temp_buffer = data.substr (posit2,250);

          posit2 += 250;
          char ctemp_buffer [251];
          strncpy(ctemp_buffer, temp_buffer.c_str(),251);
          result = send(s,ctemp_buffer,251,0);
          if (result == 0)
          {
                   //Die Verbindung wurde von der Gegenseite zurückgesetzt
                   return 0;
          }
          s_packets++;
    }
</code></pre>
<p>Offenbar hängt der Fehler mit dieser Code-Stelle zusammen:</p>
<pre><code>posit2 += 250;
</code></pre>
<p>wenn ich diese Stelle rausnehme oder nur in ein + Zeichen nehme, stürzt das Programm nicht ab, aber ich brauche diese stelle, da ich die Position höchzählen muss!</p>
<p>Danke im Voraus an alle die sich die Mühe machen mein Code anzuschauen...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/252226/runtime-error</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 19:28:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/252226.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Oct 2009 14:05:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Runtime Error on Fri, 16 Oct 2009 14:05:37 GMT]]></title><description><![CDATA[<p>Hi!<br />
Könnt ihr mir mal sagen wieso dieser Code ein Runtime Error bringt?</p>
<pre><code class="language-cpp">int s_packets = 0;
    int posit2= 0;
    while(s_packets&lt;=packets &amp; packets != 0)
    {
          string temp_buffer;
          temp_buffer = data.substr (posit2,250);

          posit2 += 250;
          char ctemp_buffer [251];
          strncpy(ctemp_buffer, temp_buffer.c_str(),251);
          result = send(s,ctemp_buffer,251,0);
          if (result == 0)
          {
                   //Die Verbindung wurde von der Gegenseite zurückgesetzt
                   return 0;
          }
          s_packets++;
    }
</code></pre>
<p>Offenbar hängt der Fehler mit dieser Code-Stelle zusammen:</p>
<pre><code>posit2 += 250;
</code></pre>
<p>wenn ich diese Stelle rausnehme oder nur in ein + Zeichen nehme, stürzt das Programm nicht ab, aber ich brauche diese stelle, da ich die Position höchzählen muss!</p>
<p>Danke im Voraus an alle die sich die Mühe machen mein Code anzuschauen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793435</guid><dc:creator><![CDATA[cobra11freak-_-]]></dc:creator><pubDate>Fri, 16 Oct 2009 14:05:37 GMT</pubDate></item><item><title><![CDATA[Reply to Runtime Error on Fri, 16 Oct 2009 14:11:53 GMT]]></title><description><![CDATA[<p>Du gehst davon aus, dass ab Position posit2 noch 250 Zeichen im String vorhanden sind. Wenn das nicht der Fall ist, kracht es eben.<br />
Der Debugger kann dir übrigens immer sagen, wo und warum ein Fehler auftritt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793439</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Fri, 16 Oct 2009 14:11:53 GMT</pubDate></item><item><title><![CDATA[Reply to Runtime Error on Fri, 16 Oct 2009 14:19:24 GMT]]></title><description><![CDATA[<p>Hi<br />
Danke für diesen Hilfreichen post. Ich benutze Dev-Cpp, da ich mit VC++ nicht klar komme, da mein code nicht funktioniert, weil dynamische arrays nicht erlaubt sind. Habe aber keine Peilung wie man diese Umgehen kann. Vieleicht finde ich das ja noch via google herraus, dann kann ich es ja nochmal mit VC++ versuchen. Jedenfalls funktioniert der Debugger von Dev-Cpp nicht sonderlich gut <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793444</guid><dc:creator><![CDATA[cobra11freak-_-]]></dc:creator><pubDate>Fri, 16 Oct 2009 14:19:24 GMT</pubDate></item><item><title><![CDATA[Reply to Runtime Error on Fri, 16 Oct 2009 14:25:10 GMT]]></title><description><![CDATA[<p>Dann zitiere ich mich mal aus einem anderen Thread:</p>
<p>Nanyuki schrieb:</p>
<blockquote>
<p>Wenn du sowieso schon MinGW benutzt, würde ich <a href="http://forums.codeblocks.org/index.php/topic,11311.0.html" rel="nofollow">Code::Blocks</a> als IDE empfehlen.<br />
Du startest dein Programm mit dem Debugger mit Debug/Step into. Wenn jetzt eine segmentation fault auftritt (und das ist mit großer Sicherheit das, was bei dir passiert) wird dein Programm angehalten, du kannst dir den Callstack ansehen und sämtliche Werte aller Variablen anschauen.<br />
Desweiteren kannst du dein Programm bis zu einer bestimmten Zeile laufen lassen (Rechtsklick/Run to cursor) und dann zeilenweise abarbeiten lassen (Debug/next line bzw. F7) um zu schauen, wo das Problem ist. Natürlich kannst du dabei auch jederzeit alle Variablenwerte überwachen.<br />
So sind die meisten Probleme in unter einer Minute gefunden - der Debugger ist einer der größten Freunde jedes Programmierers.</p>
</blockquote>
<p>cobra11freak-_- schrieb:</p>
<blockquote>
<p>weil dynamische arrays nicht erlaubt sind. Habe aber keine Peilung wie man diese Umgehen kann.</p>
</blockquote>
<p>Wieso sollen dynamische Arrays in VC++ nicht erlaubt sein?<br />
Davon abgesehen ist std::vector Arrays sowieso fast immer vorzuziehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793446</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Fri, 16 Oct 2009 14:25:10 GMT</pubDate></item><item><title><![CDATA[Reply to Runtime Error on Fri, 16 Oct 2009 15:10:55 GMT]]></title><description><![CDATA[<p>vll hilft dir das hier ja, hatte ich das letzte mal für jmd hier geschrieben:<br />
habs auch gerad noch ma angeguckt - sollte funktionieren^^</p>
<pre><code class="language-cpp">struct connection
{
private:
  SOCKET sock;
public:
//....
  void send(const std::string &amp;to_send);
};

void send(const std::string &amp;to_send)
{
	int len;
	for(std::string::size_type sent = 0, tosend(request.size()+1); sent != tosend; sent += len)
	{
		len = ::send(sock, to_send.c_str()+sent, tosend-sent, 0);
		if(len == SOCKET_ERROR)
		{//evtl noch weitere unterscheidungen/hier sind auch andere möglichkeiten denkbar
			throw std::runtime_error(&quot;Cannot send blabla&quot;);
		}
	}
}
</code></pre>
<p>das hier versendet nen kompletten string mit nullterminierung...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793473</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 16 Oct 2009 15:10:55 GMT</pubDate></item><item><title><![CDATA[Reply to Runtime Error on Fri, 16 Oct 2009 15:15:21 GMT]]></title><description><![CDATA[<p>Hi<br />
So ich habe es jezt nochmal mit VC++ probiert.<br />
Nachdem ich die Winsoock fehler ausgemärzt habe, bleiben noch 7 Feheler.</p>
<p>error C2057: Konstanter Ausdruck erwartet<br />
error C2466: Zuordnung eines Arrays der konstanten Größe 0 nicht möglich.</p>
<pre><code class="language-cpp">char sBuffer3 [lauf.size()+1];
                    strncpy(sBuffer3, lauf.c_str(), lauf.size()+1);
                    result = send (s,sBuffer3,strlen(sBuffer3),0);
</code></pre>
<p>bei dieser konvertierung von string zu char[]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793474</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793474</guid><dc:creator><![CDATA[cobra11freak-_-]]></dc:creator><pubDate>Fri, 16 Oct 2009 15:15:21 GMT</pubDate></item><item><title><![CDATA[Reply to Runtime Error on Fri, 16 Oct 2009 17:33:31 GMT]]></title><description><![CDATA[<p>char Array müssen eine konstante Grösse übergeben bekommen. Ansonsten musst du wohl einen (Standard-)Container benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793537</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 16 Oct 2009 17:33:31 GMT</pubDate></item></channel></rss>