<?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[C++&#x2F;CGI: Dummer Fehler]]></title><description><![CDATA[<p>Ich muss blind sein: wieso stürzt das Programm in der Schleife des Ctors ab?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

class MyCGI {

    private:
        string env[22];

    public:
        MyCGI();
        ~MyCGI();

};

MyCGI::MyCGI() {

    char *envName[22] = {
        &quot;AUTH_TYPE&quot;, &quot;CONTENT_LENGTH&quot;, &quot;CONTENT_TYPE&quot;,
        &quot;GATEWAY_INTERFACE&quot;, &quot;HTTP_ACCEPT&quot;, &quot;HTTP_CONNECTION&quot;,
        &quot;HTTP_HOST&quot;, &quot;HTTP_REFERER&quot;, &quot;HTTP_USER_AGENT&quot;,
        &quot;PATH_INFO&quot;, &quot;PATH_TRANSLATET&quot;, &quot;QUERY_STRING&quot;,
        &quot;REMOTE_ADDR&quot;, &quot;REMOTE_HOST&quot;, &quot;REMOTE_IDENT&quot;,
        &quot;REMOTE_USER&quot;, &quot;REQUEST_METHOD&quot;, &quot;SCRIPT_NAME&quot;,
        &quot;SERVER_NAME&quot;, &quot;SERVER_PORT&quot;, &quot;SERVER_PROTOCOL&quot;,
        &quot;SERVER_SOFTWARE&quot;
    };

    for(int i = 0; i &lt; sizeof(envName) / sizeof(*envName); i++) {
        env[i] = getenv(envName[i]); // Bumm!!!!!!!!!!!!!!!!!!!!!!!!!!
        cout &lt;&lt; env[i] &lt;&lt; '\n';
    }

    cout &lt;&lt; &quot;Env-Beispiel: &quot; &lt;&lt; env[3] &lt;&lt; '\n';
}

MyCGI::~MyCGI() {
}

int main(int argc, char *argv[]) {
    cout &lt;&lt; &quot;Content-Type: text/html\n\n&quot;;
    MyCGI CGIInst;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/242322/c-cgi-dummer-fehler</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 02:25:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242322.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Jun 2009 14:00:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++&#x2F;CGI: Dummer Fehler on Tue, 02 Jun 2009 14:01:12 GMT]]></title><description><![CDATA[<p>Ich muss blind sein: wieso stürzt das Programm in der Schleife des Ctors ab?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

class MyCGI {

    private:
        string env[22];

    public:
        MyCGI();
        ~MyCGI();

};

MyCGI::MyCGI() {

    char *envName[22] = {
        &quot;AUTH_TYPE&quot;, &quot;CONTENT_LENGTH&quot;, &quot;CONTENT_TYPE&quot;,
        &quot;GATEWAY_INTERFACE&quot;, &quot;HTTP_ACCEPT&quot;, &quot;HTTP_CONNECTION&quot;,
        &quot;HTTP_HOST&quot;, &quot;HTTP_REFERER&quot;, &quot;HTTP_USER_AGENT&quot;,
        &quot;PATH_INFO&quot;, &quot;PATH_TRANSLATET&quot;, &quot;QUERY_STRING&quot;,
        &quot;REMOTE_ADDR&quot;, &quot;REMOTE_HOST&quot;, &quot;REMOTE_IDENT&quot;,
        &quot;REMOTE_USER&quot;, &quot;REQUEST_METHOD&quot;, &quot;SCRIPT_NAME&quot;,
        &quot;SERVER_NAME&quot;, &quot;SERVER_PORT&quot;, &quot;SERVER_PROTOCOL&quot;,
        &quot;SERVER_SOFTWARE&quot;
    };

    for(int i = 0; i &lt; sizeof(envName) / sizeof(*envName); i++) {
        env[i] = getenv(envName[i]); // Bumm!!!!!!!!!!!!!!!!!!!!!!!!!!
        cout &lt;&lt; env[i] &lt;&lt; '\n';
    }

    cout &lt;&lt; &quot;Env-Beispiel: &quot; &lt;&lt; env[3] &lt;&lt; '\n';
}

MyCGI::~MyCGI() {
}

int main(int argc, char *argv[]) {
    cout &lt;&lt; &quot;Content-Type: text/html\n\n&quot;;
    MyCGI CGIInst;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1719680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1719680</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Tue, 02 Jun 2009 14:01:12 GMT</pubDate></item><item><title><![CDATA[Reply to C++&#x2F;CGI: Dummer Fehler on Tue, 02 Jun 2009 14:11:52 GMT]]></title><description><![CDATA[<p><a href="http://www.cplusplus.com/reference/clibrary/cstdlib/getenv/" rel="nofollow">http://www.cplusplus.com/reference/clibrary/cstdlib/getenv/</a></p>
<blockquote>
<p>Return Value<br />
A null-terminated string with the value of the requested environment variable, <strong>or NULL if that environment variable does not exist.</strong></p>
</blockquote>
<p>Also machst du dann:</p>
<pre><code class="language-cpp">char const* p = 0;
std::string str(p);
</code></pre>
<p>Garantiertes undefiniertes Verhalten <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>Du musst einfach zuerst den Fehlerfall abfangen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1719696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1719696</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 02 Jun 2009 14:11:52 GMT</pubDate></item><item><title><![CDATA[Reply to C++&#x2F;CGI: Dummer Fehler on Tue, 02 Jun 2009 14:34:03 GMT]]></title><description><![CDATA[<p>Danke das wars!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1719720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1719720</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Tue, 02 Jun 2009 14:34:03 GMT</pubDate></item></channel></rss>