<?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[GETENV String - Anfägnerproblem]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin C++-Umsteieger/Anfänger und habe eine/zwei Frage:</p>
<p>Mein eigentliches Anliegen besteht darin einen Wert aus einer Umgebungsvariable mit GETENV auszulesen. Ich habe mir die Definition angesehen und folgendes geschrieben:</p>
<pre><code class="language-cpp">char *retval;
string MeineString;
retval = GETENV(&quot;PFAD&quot;);

printf(&quot;Dir: %s&quot;, retval)
</code></pre>
<p>Das ist, wie ich vermute, ein Misch-Masch aus C/C++.... (printf).</p>
<p>Mein eigentliches Problem besteht darin, den Wert aus retval nach MeinString zu kopieren. Wie geht das?</p>
<p>Ich möchte die GETENV-Abfrage in eine Funktion auslagern, da ich diesen Aufruf ähnlich mehrfach ausführen will. Die Funktion soll mit anderen Worten 5 Strings einlesen. Diese würde ich dann gerne mit Call-By-Refernce übergeben (in einer Struktur)!<br />
Es würde mir sehr helfen ein Beispiel für die Übergabe-Systematik zu sehen (Call-By-Reference / Pointer etc.).</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219990/getenv-string-anfägnerproblem</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 14:52:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219990.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 Aug 2008 15:17:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to GETENV String - Anfägnerproblem on Sun, 10 Aug 2008 15:18:42 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin C++-Umsteieger/Anfänger und habe eine/zwei Frage:</p>
<p>Mein eigentliches Anliegen besteht darin einen Wert aus einer Umgebungsvariable mit GETENV auszulesen. Ich habe mir die Definition angesehen und folgendes geschrieben:</p>
<pre><code class="language-cpp">char *retval;
string MeineString;
retval = GETENV(&quot;PFAD&quot;);

printf(&quot;Dir: %s&quot;, retval)
</code></pre>
<p>Das ist, wie ich vermute, ein Misch-Masch aus C/C++.... (printf).</p>
<p>Mein eigentliches Problem besteht darin, den Wert aus retval nach MeinString zu kopieren. Wie geht das?</p>
<p>Ich möchte die GETENV-Abfrage in eine Funktion auslagern, da ich diesen Aufruf ähnlich mehrfach ausführen will. Die Funktion soll mit anderen Worten 5 Strings einlesen. Diese würde ich dann gerne mit Call-By-Refernce übergeben (in einer Struktur)!<br />
Es würde mir sehr helfen ein Beispiel für die Übergabe-Systematik zu sehen (Call-By-Reference / Pointer etc.).</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562273</guid><dc:creator><![CDATA[W2K2005]]></dc:creator><pubDate>Sun, 10 Aug 2008 15:18:42 GMT</pubDate></item><item><title><![CDATA[Reply to GETENV String - Anfägnerproblem on Sun, 10 Aug 2008 15:58:49 GMT]]></title><description><![CDATA[<p>zu deinem ersten problem</p>
<p>entweder über den konstruktor</p>
<pre><code class="language-cpp">string MeinString(GETENV(&quot;PFAD&quot;));
</code></pre>
<p>oder über einen anderen string</p>
<pre><code class="language-cpp">char *retval;
string MeineString;
retval = GETENV(&quot;PFAD&quot;);
MeineString = String(retval);
</code></pre>
<p>zum zweiten problem</p>
<p>hoffendlich habe ich dich so richtig verstanden</p>
<pre><code class="language-cpp">struct byRef
{
    String strings[5];
};
void func(byRef &amp;ref)
{
    // ...
    ref.strings[2] = String(GETENV(&quot;PFAD&quot;));
}
int main()
{
    byRef DeineStruktur;
    func(DeineStruktur); // hier wird die referenz übergeben
    printf(DeineStruktur.strings[2].c_str());
}
oder mit zeigern

// struktur bleibt so
void func(byRef *ref)
{
    // ...
    ref-&gt;strings[2] = String(GETENV(&quot;PFAD&quot;));
}
int main()
{
    byRef MitZeiger;
    func(&amp;MitZeiger); // hier wird die addresse übergeben
    printf(MitZeiger.strings[2].c_str());
}
</code></pre>
<p>mit einem array wäre das aber einfacher, da ein array automatisch<br />
call by ref ist</p>
<pre><code class="language-cpp">String strings[5];
void func(String auch_by_ref[])
{
}
int main()
{
    func(strings);
}
</code></pre>
<p>mfg helferlein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562296</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Sun, 10 Aug 2008 15:58:49 GMT</pubDate></item><item><title><![CDATA[Reply to GETENV String - Anfägnerproblem on Sun, 10 Aug 2008 17:31:31 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>vielen Dank. Das schaut logisch aus.<br />
Noch eine Nachfrage:</p>
<p>Die Struktur möchte ich gerne auslagern in eine header-datei.</p>
<pre><code class="language-cpp">#ifndef APP_H
#define APP_H

#include &lt;string&gt;

struct DirList {
 string appName;
 string filename;
 string inputdir;
 string outputdir; 
};

#endif
</code></pre>
<p>Aber wenn ich diese Defintition in meine app.h eintrage und diese kompiliere, meckert der Compiler immer, dass</p>
<p>1. string bezeichnet keinen Typ.</p>
<p>Ich verstehe die Meldung insofern nicht, da ich doch die string-Bib eingebunden habe....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562321</guid><dc:creator><![CDATA[W2K2005]]></dc:creator><pubDate>Sun, 10 Aug 2008 17:31:31 GMT</pubDate></item><item><title><![CDATA[Reply to GETENV String - Anfägnerproblem on Sun, 10 Aug 2008 19:18:54 GMT]]></title><description><![CDATA[<p>hast du schon mit std::string versucht?</p>
<p>string befindet sich nämlich im Namespace std</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562377</guid><dc:creator><![CDATA[uhsuhz]]></dc:creator><pubDate>Sun, 10 Aug 2008 19:18:54 GMT</pubDate></item><item><title><![CDATA[Reply to GETENV String - Anfägnerproblem on Mon, 11 Aug 2008 17:26:29 GMT]]></title><description><![CDATA[<p>Könntest Du das bitte konkretisieren (ein kleines Beispiel).</p>
<p>Ich bin Fortran gewöhnt und habe noch keine klare Vorstellung, wo globale Variablen am sinnvollsten Abzulegen sind. Bzw. wie ich sie den geeigneten Modulen / Funktionen zugänglich mache.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562817</guid><dc:creator><![CDATA[W2K2005]]></dc:creator><pubDate>Mon, 11 Aug 2008 17:26:29 GMT</pubDate></item><item><title><![CDATA[Reply to GETENV String - Anfägnerproblem on Mon, 11 Aug 2008 17:39:20 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#ifndef APP_H 
#define APP_H 

#include &lt;string&gt; 

struct DirList { 
 std::string appName; 
 std::string filename; 
 std::string inputdir; 
 std::string outputdir; 
}; 

#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1562824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562824</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 11 Aug 2008 17:39:20 GMT</pubDate></item><item><title><![CDATA[Reply to GETENV String - Anfägnerproblem on Mon, 11 Aug 2008 20:44:17 GMT]]></title><description><![CDATA[<p>Ich bitte um Entschuldigen für die vielen Fragen.<br />
Ich erhalte nun die Fehlermeldung:</p>
<p>&quot;GETENV wurde in seinem Gültigkeitsbereich nicht definiert.&quot;</p>
<pre><code class="language-cpp">#ifndef APP_H
#define APP_H

#include &lt;string&gt;

struct filedef {
 std::string appDir;
};
#endif

# ----------------------------------- 

#include &quot;app.h&quot;

int readdat(filedef dirlist) {
 dirlist.appDir(GETENV(&quot;PF_APP_DIR&quot;));
}
</code></pre>
<p>Wie kann man den Gültigkeitsbereich allgemein feststellen, wann man ihn nicht kennt....?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562938</guid><dc:creator><![CDATA[W2K2005]]></dc:creator><pubDate>Mon, 11 Aug 2008 20:44:17 GMT</pubDate></item><item><title><![CDATA[Reply to GETENV String - Anfägnerproblem on Mon, 11 Aug 2008 21:07:46 GMT]]></title><description><![CDATA[<p>Ok,</p>
<p>ein wenig kann ich das Problem selbst klären.</p>
<p>C/C++ ist &quot;CASE-SENSETIVE&quot;...doofer Fehler!</p>
<p>Aber das Problem bleibt bestehen, dass ich nicht in das struct-Element appDir einen Wert kopieren kann:<br />
&quot;Keine Übereinstimmung für Aufruf von (std::string) (char*)&quot;....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562952</guid><dc:creator><![CDATA[W2K2005]]></dc:creator><pubDate>Mon, 11 Aug 2008 21:07:46 GMT</pubDate></item></channel></rss>