<?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[defines in Strings]]></title><description><![CDATA[<p>Wenn ich etwas wie<br />
#DEFINE FOO 1<br />
habe und dies in einem std::string verbraten will, geht das nur über nachträgliches hinzufügen oder?</p>
<p>Es gibt keinen Weg, so etwas zu realisieren?<br />
std::string bar(&quot;Wert #FOO&quot;);<br />
Das das Beispiel nicht geht, ist mir klar, #FOO würde als String behandelt werden, aber kann man das irgendwie escapen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247602/defines-in-strings</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 12:40:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247602.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Aug 2009 09:48:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to defines in Strings on Thu, 13 Aug 2009 09:48:18 GMT]]></title><description><![CDATA[<p>Wenn ich etwas wie<br />
#DEFINE FOO 1<br />
habe und dies in einem std::string verbraten will, geht das nur über nachträgliches hinzufügen oder?</p>
<p>Es gibt keinen Weg, so etwas zu realisieren?<br />
std::string bar(&quot;Wert #FOO&quot;);<br />
Das das Beispiel nicht geht, ist mir klar, #FOO würde als String behandelt werden, aber kann man das irgendwie escapen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759945</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Thu, 13 Aug 2009 09:48:18 GMT</pubDate></item><item><title><![CDATA[Reply to defines in Strings on Thu, 13 Aug 2009 09:56:25 GMT]]></title><description><![CDATA[<p>Du musst das ganz genau gleich machen, als ob du das ne 1 hinzufügen möchtest. Sprich du musst das ganze zuerst in einen string umwandeln und dann kannst du das ganz normal, wie andere strings anfügen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759953</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 13 Aug 2009 09:56:25 GMT</pubDate></item><item><title><![CDATA[Reply to defines in Strings on Thu, 13 Aug 2009 09:56:53 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>du müsstest das wenn dann auch als string schreiben</p>
<pre><code class="language-cpp">#define FOO &quot;1&quot;
std::string bar(FOO);
</code></pre>
<p>... oder meinst du was anderes?</p>
<p>Gruß Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759954</guid><dc:creator><![CDATA[varginator]]></dc:creator><pubDate>Thu, 13 Aug 2009 09:56:53 GMT</pubDate></item><item><title><![CDATA[Reply to defines in Strings on Thu, 13 Aug 2009 10:08:31 GMT]]></title><description><![CDATA[<p>Vielleicht meinst du auch sowas hier?</p>
<pre><code class="language-cpp">#define FOO 1

#define STRINGIFY(x) _STRINGIFY(x)
#define _STRINGIFY(x) #x

std::string bar(&quot;Wert &quot; STRINGIFY(FOO));
</code></pre>
<p>Das mit dem doppelten Makro ist schon irgendwie krank, geht aber wohl nicht anders...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759961</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Thu, 13 Aug 2009 10:08:31 GMT</pubDate></item><item><title><![CDATA[Reply to defines in Strings on Thu, 13 Aug 2009 10:12:31 GMT]]></title><description><![CDATA[<p>[edit]unsinn[/edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759963</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Thu, 13 Aug 2009 10:12:31 GMT</pubDate></item><item><title><![CDATA[Reply to defines in Strings on Thu, 13 Aug 2009 10:28:41 GMT]]></title><description><![CDATA[<p>dooooomi schrieb:</p>
<blockquote>
<p>Vielleicht meinst du auch sowas hier?</p>
<pre><code class="language-cpp">#define FOO 1

#define STRINGIFY(x) _STRINGIFY(x)
#define _STRINGIFY(x) #x

std::string bar(&quot;Wert &quot; STRINGIFY(FOO));
</code></pre>
<p>Das mit dem doppelten Makro ist schon irgendwie krank, geht aber wohl nicht anders...</p>
</blockquote>
<p>wieso sollte das nicht gehen?</p>
<pre><code class="language-cpp">#define FOO 1

#define STRINGIFY(x) #x

std::string bar(&quot;Wert &quot; STRINGYFY(FOO));
</code></pre>
<p>funktioniert das etwa nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759973</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 13 Aug 2009 10:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to defines in Strings on Thu, 13 Aug 2009 10:35:03 GMT]]></title><description><![CDATA[<p>daersc schrieb:</p>
<blockquote>
<p>wieso sollte das nicht gehen?</p>
<pre><code class="language-cpp">#define FOO 1

#define STRINGIFY(x) #x

std::string bar(&quot;Wert &quot; STRINGYFY(FOO));
</code></pre>
<p>funktioniert das etwa nicht?</p>
</blockquote>
<p>Nein, das gibt nicht &quot;1&quot; aus sondern &quot;FOO&quot;. Aber die Erklärung dafür überlasse ich lieber jemandem, der den Präprozessor besser versteht als ich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759977</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Thu, 13 Aug 2009 10:35:03 GMT</pubDate></item><item><title><![CDATA[Reply to defines in Strings on Thu, 13 Aug 2009 10:52:07 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;class T&gt;
std::string STRINGIFY(T const&amp; t)
{ return boost::lexical_cast&lt;std::string&gt;(t); }

const int FOO = 1;

std::string bar = std::string(&quot;Wert&quot;) + STRINGIFY(FOO);
</code></pre>
<p>Warum immer nur Makros??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759988</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 13 Aug 2009 10:52:07 GMT</pubDate></item><item><title><![CDATA[Reply to defines in Strings on Thu, 13 Aug 2009 11:56:29 GMT]]></title><description><![CDATA[<p>oder du benutzt stringstream</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;

#define FOO 1

template&lt;class T&gt; std::string convert(T const&amp; t){
    std::stringstream ss;
    ss&lt;&lt;t;
    return ss.str();
}

int main {
    std::string bar = convert(FOO);
    cout&lt;&lt;bar&lt;&lt;endl;
}

EDIT: kann man das mim stringstream auch kürzer schreiben?
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1760046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760046</guid><dc:creator><![CDATA[varginator]]></dc:creator><pubDate>Thu, 13 Aug 2009 11:56:29 GMT</pubDate></item><item><title><![CDATA[Reply to defines in Strings on Thu, 13 Aug 2009 13:07:56 GMT]]></title><description><![CDATA[<p>varginator schrieb:</p>
<blockquote>
<p>oder du benutzt stringstream</p>
<pre><code class="language-cpp">[...]
template&lt;class T&gt; std::string convert(T const&amp; t){
    std::stringstream ss;
    ss&lt;&lt;t;
    return ss.str();
}
[...]
EDIT: kann man das mim stringstream auch kürzer schreiben?
</code></pre>
</blockquote>
<p>Man kanns kürzer schreiben - boost::lexical_cast<a href="std::string" rel="nofollow">std::string</a> macht fast genau das, mit der Ausnahme dass die stream-Repräsentation von t da keine Whitespaces haben darf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760113</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 13 Aug 2009 13:07:56 GMT</pubDate></item></channel></rss>