<?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[Wie wandle ich einen String in Großbuchstaben um?]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie der Titel schon sagt, suche eine Möglichkeit einen String in einen Großbuchstaben umzuwandeln.<br />
Eine mögliche Lösung ist ja die Buchstaben einzeln mit der Funktion toupper() in Großbuchstaben umzuwandeln, aber ich suche eine bessere Funktion, die auch Umlaute usw umwandelt.</p>
<p>z.B. so: (Hier nur ein Demo zu Umwandlung eines C++ string.)<br />
//---------------------------------------------------------</p>
<blockquote>
<p>&gt; // toupper.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.<br />
&gt; //<br />
&gt; #include &quot;stdafx.h&quot;<br />
&gt; #include &lt;iostream&gt;<br />
&gt; #include &lt;string&gt;<br />
&gt; using namespace std;<br />
&gt; int _tmain(int argc, _TCHAR* argv[])<br />
&gt; {string name,NAME;<br />
&gt; name = &quot;&quot;;<br />
&gt; cin&gt;&gt;name;<br />
&gt; NAME = &quot;&quot;;<br />
&gt; for (unsigned int i = 0;i&lt;name.length();i++)// Umwandlung in GROSS<br />
&gt; {NAME = NAME+(char)toupper(name[i]); // klappt nicht bei Umlauten<br />
&gt; }<br />
&gt; cout&lt;&lt;&quot;Eingabe: &quot;&lt;&lt;name&lt;&lt;&quot; Grossgeschrieben: &quot;&lt;&lt;NAME&lt;&lt;endl;<br />
&gt; while (1);<br />
&gt; return 0;<br />
&gt; }<br />
//---------------------------------------------------------</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/topic/271240/wie-wandle-ich-einen-string-in-großbuchstaben-um</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 14:58:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271240.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Jul 2010 12:51:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 12:51:52 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie der Titel schon sagt, suche eine Möglichkeit einen String in einen Großbuchstaben umzuwandeln.<br />
Eine mögliche Lösung ist ja die Buchstaben einzeln mit der Funktion toupper() in Großbuchstaben umzuwandeln, aber ich suche eine bessere Funktion, die auch Umlaute usw umwandelt.</p>
<p>z.B. so: (Hier nur ein Demo zu Umwandlung eines C++ string.)<br />
//---------------------------------------------------------</p>
<blockquote>
<p>&gt; // toupper.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.<br />
&gt; //<br />
&gt; #include &quot;stdafx.h&quot;<br />
&gt; #include &lt;iostream&gt;<br />
&gt; #include &lt;string&gt;<br />
&gt; using namespace std;<br />
&gt; int _tmain(int argc, _TCHAR* argv[])<br />
&gt; {string name,NAME;<br />
&gt; name = &quot;&quot;;<br />
&gt; cin&gt;&gt;name;<br />
&gt; NAME = &quot;&quot;;<br />
&gt; for (unsigned int i = 0;i&lt;name.length();i++)// Umwandlung in GROSS<br />
&gt; {NAME = NAME+(char)toupper(name[i]); // klappt nicht bei Umlauten<br />
&gt; }<br />
&gt; cout&lt;&lt;&quot;Eingabe: &quot;&lt;&lt;name&lt;&lt;&quot; Grossgeschrieben: &quot;&lt;&lt;NAME&lt;&lt;endl;<br />
&gt; while (1);<br />
&gt; return 0;<br />
&gt; }<br />
//---------------------------------------------------------</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1931342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931342</guid><dc:creator><![CDATA[Mr.Mojo]]></dc:creator><pubDate>Sun, 25 Jul 2010 12:51:52 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 12:58:56 GMT]]></title><description><![CDATA[<p>Hier:<br />
<a href="http://www.cplusplus.com/reference/clibrary/cctype/toupper/" rel="nofollow">http://www.cplusplus.com/reference/clibrary/cctype/toupper/</a></p>
<p>Steht sogar ein Beispiel dabei, was genau dein problem lösen sollte.<br />
Dass es eine bessere Variante gibt kann natürlich trotzdem sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931348</guid><dc:creator><![CDATA[Max3000]]></dc:creator><pubDate>Sun, 25 Jul 2010 12:58:56 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 13:02:16 GMT]]></title><description><![CDATA[<p><code>toupper</code> funktioniert mit der richtigen <code>locale</code> . Beispiel:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;locale&gt;
#include &lt;algorithm&gt;
using namespace std;

int main()
{
	locale::global(locale(&quot;GERMAN&quot;));
	string s = &quot;ÄÖÜäöüß&quot;;
	transform(s.begin(), s.end(), s.begin(), &amp;toupper);
	cout &lt;&lt; s &lt;&lt; endl;
}
</code></pre>
<p>Ausgabe:</p>
<pre><code>ÄÖÜÄÖÜß
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1931352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931352</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Sun, 25 Jul 2010 13:02:16 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 13:04:34 GMT]]></title><description><![CDATA[<p>Mr.Mojo schrieb:</p>
<blockquote>
<p>Eine mögliche Lösung ist ja die Buchstaben einzeln mit der Funktion toupper() in Großbuchstaben umzuwandeln, aber ich suche eine bessere Funktion, die auch Umlaute usw umwandelt.</p>
</blockquote>
<p>Vielleicht <code>to_upper()</code> aus <a href="http://www.boost.org/doc/libs/1_43_0/doc/html/string_algo.html" rel="nofollow">Boost.StringAlgorithms</a>, falls du Boost benutzt. Da gibts auch sonst einige interessante Dinge. <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>ipsec schrieb:</p>
<blockquote>
<p><code>toupper</code> funktioniert mit der richtigen <code>locale</code> .</p>
</blockquote>
<p>Einfacher wäre es doch, die Funktion <code>std::toupper()</code> aus <code>&lt;locale&gt;</code> zu verwenden, welche das Locale als Parameter nimmt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931354</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 25 Jul 2010 13:04:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 13:06:30 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>ipsec schrieb:</p>
<blockquote>
<p><code>toupper</code> funktioniert mit der richtigen <code>locale</code> .</p>
</blockquote>
<p>Einfacher wäre es doch, die Funktion <code>std::toupper()</code> aus <code>&lt;locale&gt;</code> zu verwenden, welche das Locale als Parameter nimmt...</p>
</blockquote>
<p>Dann kann man aber nicht so einfach <code>transform</code> verwenden <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/1931355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931355</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Sun, 25 Jul 2010 13:06:30 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 13:16:04 GMT]]></title><description><![CDATA[<p>ipsec schrieb:</p>
<blockquote>
<p>Dann kann man aber nicht so einfach <code>transform</code> verwenden <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>
</blockquote>
<p>Das stimmt. Aber wenn man die Funktionalität mehrfach verwendet, ist <code>std::transform()</code> sowieso hässlich. Und wenn man eine eigene Funktion <code>void to_upper(std::string&amp;)</code> hat, kann man eine einfache Schleife verwenden.</p>
<p>Oder, wenn einem Schleifen zu trivial sind:</p>
<pre><code class="language-cpp">void to_upper(char&amp; c)
{
    c = std::toupper(c, std::locale());
}

std::for_each(s.begin(), s.end(), &amp;to_upper);
</code></pre>
<p>Oder noch lustiger: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<pre><code class="language-cpp">std::transform(s.begin(), s.end(), s.begin(), std::tr1::bind(&amp;std::toupper, _1, std::locale()));
</code></pre>
<p>Aber eben: Wenn man Boost hat, ist das wohl das Einfachste. Und sonst würde ich eine altmodische Schleife in eine Funktion packen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931358</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 25 Jul 2010 13:16:04 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 13:18:39 GMT]]></title><description><![CDATA[<p>ipsec schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p>ipsec schrieb:</p>
<blockquote>
<p><code>toupper</code> funktioniert mit der richtigen <code>locale</code> .</p>
</blockquote>
<p>Einfacher wäre es doch, die Funktion <code>std::toupper()</code> aus <code>&lt;locale&gt;</code> zu verwenden, welche das Locale als Parameter nimmt...</p>
</blockquote>
<p>Dann kann man aber nicht so einfach <code>transform</code> verwenden <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>
</blockquote>
<p>wenn boost.bind einfach ist, ist auch das einfach</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;locale&gt;
#include &lt;algorithm&gt; // transform
#include &lt;boost/bind.hpp&gt;

int main()
{
    using namespace std;
    string s = &quot;ÄÖÜäöüß&quot;;
    transform( s.begin(), s.end(), s.begin(), boost::bind( &amp;toupper&lt; char &gt;, _1, locale( &quot;german&quot; ) ) );
    cout &lt;&lt; s &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931362</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sun, 25 Jul 2010 13:18:39 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 13:43:04 GMT]]></title><description><![CDATA[<p>Okay, danke für die schnelle Antwort, für meine Anwendung ist die Lösung von ipsec optimal, daher riesen Dank an alle!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931371</guid><dc:creator><![CDATA[Mr.Mojo]]></dc:creator><pubDate>Sun, 25 Jul 2010 13:43:04 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 13:52:30 GMT]]></title><description><![CDATA[<p>aber eine Frage hab ich doch noch <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>Wenn ich das Programm so umwandle, funktioniert die Umwandlung der Umlaute nicht mehr, ich verstehe aber nicht wieso!</p>
<p>#include &quot;stdafx.h&quot;<br />
#include &lt;iostream&gt;<br />
#include &lt;string&gt;<br />
#include &lt;locale&gt;<br />
#include &lt;algorithm&gt;</p>
<p>using namespace std;</p>
<p>int main()<br />
{<br />
string s;<br />
locale::global(locale(&quot;GERMAN&quot;));<br />
cout&lt;&lt;&quot;Bitte einen String eingeben: &quot;&lt;&lt;endl;;<br />
cin&gt;&gt;s;<br />
transform(s.begin(), s.end(), s.begin(), &amp;toupper);<br />
cout &lt;&lt; s &lt;&lt; endl;<br />
while(1);</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931377</guid><dc:creator><![CDATA[Mr.Mojo]]></dc:creator><pubDate>Sun, 25 Jul 2010 13:52:30 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 18:42:01 GMT]]></title><description><![CDATA[<p>Zeig mal deine <em>toupper</em>-Funktion bitte <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/1931564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931564</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sun, 25 Jul 2010 18:42:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 19:09:27 GMT]]></title><description><![CDATA[<p>mhm muss ich da die vom 1.Post einbinden, oder wie meinst du das? Aber wenn ich die Funktion von ipsec ausführe funktioniert es ja einwandfrei, aber wenn ich das Programm umforme ( mit eingabe etc.) geht es nicht mehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931572</guid><dc:creator><![CDATA[Mr.Mojo]]></dc:creator><pubDate>Sun, 25 Jul 2010 19:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 19:55:52 GMT]]></title><description><![CDATA[<p>Ignorier meinen letzten Post, der war dumm. Das Problem ist das die Konsole keine Umlaute darstellen kann. Wenn, dann müsstest du das irgendwie pfuschen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931595</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sun, 25 Jul 2010 19:55:52 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 20:08:00 GMT]]></title><description><![CDATA[<p>Also die Konsole kann schon Umlaute ausgeben, weil es ja bei ipsec's Programm einwandfrei funktioniert!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931603</guid><dc:creator><![CDATA[Mr.Mojo]]></dc:creator><pubDate>Sun, 25 Jul 2010 20:08:00 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Sun, 25 Jul 2010 20:46:57 GMT]]></title><description><![CDATA[<p>Der Fehler liegt nicht in der Ausgabe, sondern in der Eingabe (man schaue sich den String im Debugger nach dem Einlesen an). Ich weiß jetzt aber leider auch keine Lösung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931632</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Sun, 25 Jul 2010 20:46:57 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Mon, 26 Jul 2010 08:10:57 GMT]]></title><description><![CDATA[<p>Was ist denn &quot;GERMAN&quot; für ein Locale? Ist das überhaupt gültig? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1931817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931817</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 26 Jul 2010 08:10:57 GMT</pubDate></item><item><title><![CDATA[Reply to Wie wandle ich einen String in Großbuchstaben um? on Mon, 26 Jul 2010 10:07:42 GMT]]></title><description><![CDATA[<p>Wenns der Compiler unterstützt... Die Zeichenketten sind vom Standard nicht vorgegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931895</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Mon, 26 Jul 2010 10:07:42 GMT</pubDate></item></channel></rss>