<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Freak-und-Informatiker &#187; tolower</title>
	<atom:link href="http://www.freak-und-informatiker.de/tag/tolower/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.freak-und-informatiker.de</link>
	<description>Debugger sind was für Memmen! Echte Männer kompilieren direkt auf die Master CD ...</description>
	<lastBuildDate>Wed, 29 Sep 2010 16:00:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>std::string::tolower()?</title>
		<link>http://www.freak-und-informatiker.de/2008/05/17/stdstringtolower/</link>
		<comments>http://www.freak-und-informatiker.de/2008/05/17/stdstringtolower/#comments</comments>
		<pubDate>Sat, 17 May 2008 15:30:57 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[std::string]]></category>
		<category><![CDATA[tolower]]></category>
		<category><![CDATA[toupper]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/2008/05/17/stdstringtolower/</guid>
		<description><![CDATA[So manch einer der auf C++ umsteigt wundert sich, warum man dort anscheinend keine tolower Methode kennt. Aber es gibt sie Sie ist &#8220;nur&#8221; etwas versteckt. Die Vorgehensweise für den Nachbau von toupper ist naheliegenderweise sehr ähnlich. Das Zauberwort heißt std::tolower in Kombination mit std::transform. std::transform wird genutzt, um einen Bereich (begrenzt durch zwei Iteratoren) [...]]]></description>
			<content:encoded><![CDATA[<p>So manch einer der auf C++ umsteigt wundert sich, warum man dort anscheinend keine tolower Methode kennt. Aber es gibt sie <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Sie ist &#8220;nur&#8221; etwas versteckt. Die Vorgehensweise für den Nachbau von toupper ist naheliegenderweise sehr ähnlich.</p>
<p>Das Zauberwort heißt std::tolower in Kombination mit std::transform. std::transform wird genutzt, um einen Bereich (begrenzt durch zwei Iteratoren) gleichzeitig zu kopieren und mit einer Funktion umzuwandeln. Die Signatur von std::transform sieht in etwa so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">OutputIterator transform<span style="color: #008000;">&#40;</span>InputIterator first,
                         InputIterator last,
                         OutputIterator result,
                         UnaryOperation op<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>Dabei ist es kein Problem, wenn first und result identisch sind. op bezeichnet die Funktion, die wir für jedes zu transformierende Objekt aufrufen wollen.</p>
<p>Mit diesem Rüstzeug können wir einen beliebigen String &#8220;verkleinern&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">// Converting the string to lowercase</span>
std<span style="color: #008080;">::</span><span style="color: #007788;">string</span> string<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;I aM WriTten In MixED cASe!&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
std<span style="color: #008080;">::</span><span style="color: #007788;">transform</span><span style="color: #008000;">&#40;</span>string.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, string.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, string.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, std<span style="color: #008080;">::</span><span style="color: #0000dd;">tolower</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>Edit am 7.9.2008:</p>
<p>Da hab ich doch glatt vergessen die header mit &#8220;bekanntzugeben&#8221;. Also hier:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;string&gt; // std::string</span>
<span style="color: #339900;">#include &lt;algorithm&gt; // std::transform</span>
<span style="color: #339900;">#include &lt;cctype&gt; // std::tolower</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/05/17/stdstringtolower/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

