<?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[String bearbeiten]]></title><description><![CDATA[<p>Hey,<br />
ich steh vor einem Problem und habe keine große Lust dafü eine Funktion zu schreiben.<br />
Zu meinem Problem ich möchte einen String so bearbeiten das die Anfangsbuchstaben immer groß geschrieben werden und der rest des Wortes klein.<br />
Zum Bespiel so:</p>
<p>&quot;hAllO wElT&quot; -&gt; &quot;Hallo Welt&quot;</p>
<p>Befor ich nun dafür eine Funktion schreibe wollte ich wissen ob es sowas schon gibt. Wäre gut wenn mir das jemand sagen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/197769/string-bearbeiten</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 13:54:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/197769.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Nov 2007 16:22:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 16:22:22 GMT]]></title><description><![CDATA[<p>Hey,<br />
ich steh vor einem Problem und habe keine große Lust dafü eine Funktion zu schreiben.<br />
Zu meinem Problem ich möchte einen String so bearbeiten das die Anfangsbuchstaben immer groß geschrieben werden und der rest des Wortes klein.<br />
Zum Bespiel so:</p>
<p>&quot;hAllO wElT&quot; -&gt; &quot;Hallo Welt&quot;</p>
<p>Befor ich nun dafür eine Funktion schreibe wollte ich wissen ob es sowas schon gibt. Wäre gut wenn mir das jemand sagen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403199</guid><dc:creator><![CDATA[String bearbeiten]]></dc:creator><pubDate>Wed, 14 Nov 2007 16:22:22 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 17:07:34 GMT]]></title><description><![CDATA[<p>So eine Funktion kann gar nicht in einer Standard header Datei enthalten<br />
sein, da man sowas sehr selten bräuchte bzw sogut wie nie. Und keine<br />
weitere selbstdefinierte Funktion würde auf sowas bauen...<br />
Die wirst du dir selber schreiben müssen,<br />
ist aber auch gar nicht so schwer.</p>
<p>Hab dazu was rumprobiert.<br />
Kann mir wer sagen, wieos das hier zum Absturz führt?</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
using namespace std;

char* up_first_char(char* sentence)
{
	bool upped = false;

	for (unsigned short int i = 0; i &lt; strlen(sentence); i++)
	{
		if (sentence[i] == ' ')
			// Nächstes Zeichen gilt als erstes Zeichen des nächsten Wortes
			upped = false;
		else if (!upped)
		{
			// Dieses Zeichen gilt als erster Buchstabe eines aktuellen Wortes
			switch (sentence[i])
			{
				case 'a': sentence[i] = 'A'; break;
				case 'b': sentence[i] = 'B'; break;
				case 'c': sentence[i] = 'C'; break;
				case 'd': sentence[i] = 'D'; break;
				case 'e': sentence[i] = 'E'; break;
				case 'f': sentence[i] = 'F'; break;
				case 'g': sentence[i] = 'G'; break;
				case 'h': sentence[i] = 'H'; break;
				case 'i': sentence[i] = 'I'; break;
				case 'j': sentence[i] = 'J'; break;
				case 'k': sentence[i] = 'K'; break;
				case 'l': sentence[i] = 'L'; break;
				case 'm': sentence[i] = 'M'; break;
				case 'n': sentence[i] = 'N'; break;
				case 'o': sentence[i] = 'O'; break;
				case 'p': sentence[i] = 'P'; break;
			}

			// Das erste Zeichen des aktuellen Wortes wurde geupt
			upped = true;
		}
	}

	return sentence;
}

int main(int argc, char *argv[])
{
	cout &lt;&lt; up_first_char(&quot;hallo welt&quot;) &lt;&lt; endl;

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1403220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403220</guid><dc:creator><![CDATA[sjBlack]]></dc:creator><pubDate>Wed, 14 Nov 2007 17:07:34 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 17:23:49 GMT]]></title><description><![CDATA[<p>Du hast die Umlaute vergessen... und natürlich hast Du vergessen die grossbuchstaben im Wort klein zu machen...</p>
<p>PS: Einfacher geht es mit _toupper und _tolower ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403244</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 14 Nov 2007 17:23:49 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 17:41:06 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>und natürlich hast Du vergessen die grossbuchstaben im Wort klein zu machen...</p>
</blockquote>
<p>Ich habe seinen Wunsch als Übung genommen und wollte<br />
eigentlich nur wissen, woran der Absturz liegt...<br />
Meine Funktion soll den ersten Buchstaben jedes Wortes uppen.<br />
Sry, wenn ich einfach mal sein Thema benutzt habe. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>// edit<br />
Das gibt's doch nicht!</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
using namespace std;

char* up_first_chars(char* sentence)
{
	bool checked = false;
	int temp;

	for (unsigned short int i = 0; i &lt; strlen(sentence); i++)
	{
		if (sentence[i] == ' ')
			// Nächstes Zeichen gilt als erstes Zeichen des nächsten Wortes
			checked = false;
		else if (!checked)
		{
			// Dieses Zeichen gilt als erster Buchstabe eines aktuellen Wortes
			sentence[i] = _toupper(sentence[i]);

			// Für das aktuelle Wort erledigt.
			checked = true;
		}
	}

	return sentence;
}

int main(int argc, char *argv[])
{
	cout &lt;&lt; up_first_chars(&quot;hallo welt&quot;) &lt;&lt; endl;

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
<p>Woran liegt der Programmabsturz!?!?<br />
Kompilieren tut Dev-C++ es ja!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403250</guid><dc:creator><![CDATA[sjBlack]]></dc:creator><pubDate>Wed, 14 Nov 2007 17:41:06 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 18:19:43 GMT]]></title><description><![CDATA[<p>ich glaub zwar nicht, dass das der Absturzgrund ist,<br />
aber das:</p>
<pre><code class="language-cpp">for (unsigned short int i = 0; i &lt; strlen(sentence); i++)
</code></pre>
<p>sollte man besser so:</p>
<pre><code class="language-cpp">for (unsigned short int i = 0, iLen = strlen(sentence); i &lt; iLen; i++)
</code></pre>
<p>machen, da der Teil bei for zwischen den beiden ; ; bei jeder Wiederholung<br />
erneut ausgeführt wird.<br />
Bei längeren Zeichenketten sind das große Performanceeinbußen!</p>
<p>außerdem frage ich mich, wozu diese</p>
<pre><code class="language-cpp">int temp;
</code></pre>
<p>gut sein soll ???<br />
schließlich verwendest du es ja nicht.</p>
<p>Es wäre vllt auch hilfreich, wenn du uns verraten würdest, an welcher Stelle der Absturz passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403276</guid><dc:creator><![CDATA[DrakoXP]]></dc:creator><pubDate>Wed, 14 Nov 2007 18:19:43 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 18:53:46 GMT]]></title><description><![CDATA[<p>Vielen Dank für deinen Performance-Tipp. Auf sowas leg ich besonders Wert <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="😉"
    /><br />
Die Variable temp war nach einer Überarbeitung nicht mehr nötig, ich habe<br />
lediglich vergessen, sie wieder zu entfernen.</p>
<p>Hier der ganze source</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
using namespace std;

char* up_first_char(char* sentence)
{
	bool checked = false;

	for (unsigned short int i = 0, iLen = strlen(sentence); i &lt; iLen; i++)
	{
		if (sentence[i] == ' ')
			// Nächstes Zeichen gilt als erstes Zeichen des nächsten Wortes
			checked = false;
		else if (!checked)
		{
			// Dieses Zeichen gilt als erster Buchstabe eines aktuellen Wortes
			sentence[i] = _toupper(sentence[i]);

			// Für das aktuelle Wort erledigt.
			checked = true;
		}
	}

	return sentence;
}

int main(int argc, char *argv[])
{
	cout &lt;&lt; up_first_char(&quot;hallo welt&quot;) &lt;&lt; endl;

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
<p>Und hier der screenshot vom Übel<br />
<a href="http://img3.imagebanana.com/view/kcgxdnl6/prob.png" rel="nofollow">http://img3.imagebanana.com/view/kcgxdnl6/prob.png</a><br />
Keine compile errors</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403298</guid><dc:creator><![CDATA[sjBlack]]></dc:creator><pubDate>Wed, 14 Nov 2007 18:53:46 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 19:25:15 GMT]]></title><description><![CDATA[<p>Ach so...<br />
Dir sollte bewusst sein, dass Compiler i.d.R. String-Literale in einen &quot;Read-Onyl&quot; Bereich legen...</p>
<p>Du übergibst hier direkt ein String-Literal einer Funktion, welche ein &quot;char*&quot; erwartet. Dies sollte IMHO eine Compiler-Warnung erzeugen...</p>
<p>Verwende:</p>
<pre><code class="language-cpp">cout &lt;&lt; up_first_char(strdup(&quot;hallo welt&quot;)) &lt;&lt; endl;
</code></pre>
<p>und es sollte gehen... (PS: der SPeicher wird hier dann nicht mehr freigegen...; verwende am besten std::string).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403330</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 14 Nov 2007 19:25:15 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 20:00:18 GMT]]></title><description><![CDATA[<p>Es funkt. Also lag es daran, dass die Funktion als Parameter einen Pointer<br />
zu einer char verlangt, aber es wird ein constantes string array der<br />
Größe 11 übergeben (10 + \0). Und strdup legt einen string in den heap<br />
und gibt den pointer zurück?</p>
<p>Jochen Kalmbach  schrieb:</p>
<blockquote>
<p>und es sollte gehen... (PS: der SPeicher wird hier dann nicht mehr freigegen...; verwende am besten std::string).</p>
</blockquote>
<p>Du meinst, das auf dem heap liegene char array, dessen Pointer<br />
der Funktion als Parameter übergeben wird, wird nach dem<br />
return nicht wieder aus dem Speicher entfernt?<br />
Wie wäre es denn damit? <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>
<pre><code>int main(int argc, char *argv[])
{
	char * bla;
	cout &lt;&lt; up_first_char(bla = strdup(&quot;hallo welt&quot;)) &lt;&lt; endl;
	delete[] bla;

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1403341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403341</guid><dc:creator><![CDATA[sjBlack]]></dc:creator><pubDate>Wed, 14 Nov 2007 20:00:18 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 20:27:01 GMT]]></title><description><![CDATA[<p>Wenn Du was mit &quot;strdup&quot; allokiert hast, musst Du es mit &quot;free&quot; freigeben!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403358</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 14 Nov 2007 20:27:01 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 20:57:04 GMT]]></title><description><![CDATA[<p>Wieso'n das? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403369</guid><dc:creator><![CDATA[sjBlack]]></dc:creator><pubDate>Wed, 14 Nov 2007 20:57:04 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 21:00:12 GMT]]></title><description><![CDATA[<p>Hmm... die einfachste Erklärung ist immer:<br />
WEIL ES IN DER DOKU STEHT!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403371</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 14 Nov 2007 21:00:12 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Wed, 14 Nov 2007 22:00:33 GMT]]></title><description><![CDATA[<p>Danke erst mal für die genazen Antworten ich hab mir jetzt meine eigene Funktion geschrieben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;stdio.h&gt;

using namespace std;

string a;

void down(int i,int L,bool inside)
{
    if(inside==true)
    {i++;}
    else
    {i++;}

    for(int x=i;x&lt;=L;x++)
    {
        if(a[x]!=' ')
        {
            if(a[x]&lt;=90 &amp;&amp; a[x]&gt;=65)
            {
                a[x]=a[x]+32;
            }
        }
    }
}

void charwork(char *letter)
{
    a =letter;
    int L= a.length(),Zusatz=0;
    for(int i=0;i&lt;=L;i++)
    {
        Zusatz=i;
        if(a[i]==' ')
        {
            Zusatz++;
            if(a[Zusatz]&lt;=122 &amp;&amp; a[Zusatz]&gt;=97)
            {
               a[Zusatz]=a[Zusatz]-32;
               down(Zusatz,L,true);
            }
        }
        if(i==0 &amp;&amp; a[i]&lt;=122 &amp;&amp; a[i]&gt;=97)
        {
             a[i]=a[i]-32;
             down(i,L,false);
        }
    }
    cout &lt;&lt;a&lt;&lt;endl;
}
int main(int argc, char *argv[])
{
     charwork(&quot;  hAllO du AAa&quot;);

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1403399</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403399</guid><dc:creator><![CDATA[String Bearbeiten]]></dc:creator><pubDate>Wed, 14 Nov 2007 22:00:33 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Thu, 15 Nov 2007 07:16:01 GMT]]></title><description><![CDATA[<p>String Bearbeiten schrieb:</p>
<blockquote>
<pre><code class="language-cpp">if(inside==true)
{i++;}
else
{i++;}
</code></pre>
</blockquote>
<p>Sehr sinnreich - eine if-else macht nur dann Sinn, wenn in beiden Blöcken etwas unterschiedliches steht. Und anstatt dir etwas eigenes zusammenzuschustern, solltest du lieber die vorgegebenen Funktionen toupper() und tolower() verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403451</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 15 Nov 2007 07:16:01 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Thu, 15 Nov 2007 12:57:18 GMT]]></title><description><![CDATA[<p>Ja vorher stand das noch was anderes drinn^^ und ich habs vergessen rauszunehmen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403628</guid><dc:creator><![CDATA[String bearbeiten]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:57:18 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Thu, 15 Nov 2007 16:15:27 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>Hmm... die einfachste Erklärung ist immer:<br />
WEIL ES IN DER DOKU STEHT!</p>
</blockquote>
<p>Hättest du mir einen Link oder Tip gegeben, wo sich diese Doku befindet,<br />
wäre folgende Bitte jetzt nicht extra gepostet worden: Gib mal Link pls.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403814</guid><dc:creator><![CDATA[sjBlack]]></dc:creator><pubDate>Thu, 15 Nov 2007 16:15:27 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Thu, 15 Nov 2007 16:31:01 GMT]]></title><description><![CDATA[<p><a href="http://msdn2.microsoft.com/en-us/library/y471khhc" rel="nofollow">http://msdn2.microsoft.com/en-us/library/y471khhc</a></p>
<blockquote>
<p>Because _strdup calls malloc to allocate storage space for the copy of strSource, it is good practice always to release this memory by calling the free routine on the pointer returned by the call to _strdup.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1403826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403826</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 15 Nov 2007 16:31:01 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Sun, 18 Nov 2007 16:32:07 GMT]]></title><description><![CDATA[<p>Generell sollte man sich merken bei der Speicherallokation niemals C und C++ zu mischen.</p>
<pre><code class="language-cpp">#include &lt;cctype&gt;
#include &lt;algorithm&gt;
#include &lt;string&gt;

void string_toupper(std::string&amp; str) { std::transform(str.begin(), str.end(), str.begin(), static_cast&lt;int (*)(int)&gt;(std::toupper)); }
void string_tolower(std::string&amp; str) { std::transform(str.begin(), str.end(), str.begin(), static_cast&lt;int (*)(int)&gt;(std::tolower)); }
</code></pre>
<p>soll man so nicht machen ... aber nja was solls <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /><br />
So ... das direkt dann in unserer neuen, tollen Funktion nutzen um jeden Buchstaben im Satzanfang groß zu machen <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>
<pre><code class="language-cpp">void string_first_upper(std::string&amp; str)
{
    string_tolower(str);
    for (std::size_t i(0); i &lt; str.length(); ++i)
        if ((i == 0 || str[i - 1] == ' ') &amp;&amp; str[i] &gt;= 'a' &amp;&amp; str[i] &lt;= 'z') str[i] = 'A' + str[i] - 'a';
}
</code></pre>
<p>oh da war ich aber plemplem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /> Die Funktion kann natürlich anders lauten:</p>
<pre><code class="language-cpp">void string_first_upper(std::string&amp; str)
{
    string_tolower(str);
    for (std::size_t i(0); i &lt; str.length(); ++i)
        if (i == 0 || str[i - 1] == ' ') std::toupper(str[i]);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1403934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403934</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 18 Nov 2007 16:32:07 GMT</pubDate></item><item><title><![CDATA[Reply to String bearbeiten on Sun, 18 Nov 2007 15:18:21 GMT]]></title><description><![CDATA[<p>Meine Version</p>
<pre><code class="language-cpp">void GeileFunktion(char *String)
{
    bool bJetzt;
    String[0]=toupper(String[0]); //Sätze fangen ja groß an
    for(int i=0;i&lt;(int)(strlen(String));i++)
    {
        if(String[i]==' ' || String[i]=='\n' || String[i]=='\t' || String[i]=='.' || String[i]=='?' || String[i]=='!')
            bJetzt=true;
        else
            bJetzt=false;
        String[i+1]= bJetzt?toupper(String[i+1]):tolower(String[i+1]);
    }
}
</code></pre>
<p>Ob die Wörter wirklich Substabtive sind ist eine andere Sache <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/1405366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405366</guid><dc:creator><![CDATA[OTTO]]></dc:creator><pubDate>Sun, 18 Nov 2007 15:18:21 GMT</pubDate></item></channel></rss>