<?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[Speicheradressen von Großbuchstaben - gelöst]]></title><description><![CDATA[<p>Hallo und guten Morgen liebe Gemeinde.</p>
<p>Ich habe folgende Aufgabe zu lösen:</p>
<p>Schreiben Sie folgendes Programm so um, dass die Speicheradresse des Textes und die Speicheradresse der jeweiligen Grossbuchstaben ausgegeben wird.</p>
<pre><code class="language-cpp">#include&lt;stdio.h&gt;
#include&lt;ctype.h&gt;

int main(void)
{
  char zeile[20];
  printf(&quot;Bitte einen String mit maximal 19 Buchstaben eigeben: &quot;);
  gets[zeile];
  if(isupper(zeile[0]))
  {
    printf(&quot;Erstes Zeichen von %s ist ein Grossbuchstabe\n&quot;, zeile);
  }

  return 0;
}
</code></pre>
<p>Mein erster Ansatz war wie folgt:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;ctype.h&gt;
using namespace std;

int main()
{
  std::string Text;
  string *pText = &amp;Text;

  cout &lt;&lt; &quot;Geben Sie einen Text ein!\n&quot;;
  getline(cin, Text);
  cout &quot;\n&quot;;
  cout &lt;&lt; &quot;Das haben Sie eingegeben:\n&quot;
  cout &lt;&lt; Text;
  cout &lt;&lt; &quot;\n&quot;;
  cout &lt;&lt; &quot;Speicheradresse des Strings: &quot; &lt;&lt; &amp;Text &lt;&lt; &quot;\n&quot;;
  cout &lt;&lt; &quot;\n&quot;;

  if(isupper(Text))
  {
    cout &lt;&lt; Folgende Buchstaben sind Grossbuchstaben: \n&quot;;
    cout &lt;&lt; Text;
  }

  return 0;
}
</code></pre>
<p>Jedoch bekomme ich folgende Fehlermeldung:</p>
<pre><code class="language-cpp">Error C2664: 'isupper': Konvertierung des Parameters 1 von 'std::string' in 'int' nicht möglich
</code></pre>
<p>Nun zu meiner Frage:</p>
<p>Welchen Denkfehler habe ich??</p>
<p>Danke für die Antworten im Voraus.</p>
<p>Gruß</p>
<p>Max</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/311871/speicheradressen-von-großbuchstaben-gelöst</link><generator>RSS for Node</generator><lastBuildDate>Mon, 03 Aug 2026 06:39:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/311871.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 Dec 2012 09:33:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Thu, 27 Dec 2012 07:50:44 GMT]]></title><description><![CDATA[<p>Hallo und guten Morgen liebe Gemeinde.</p>
<p>Ich habe folgende Aufgabe zu lösen:</p>
<p>Schreiben Sie folgendes Programm so um, dass die Speicheradresse des Textes und die Speicheradresse der jeweiligen Grossbuchstaben ausgegeben wird.</p>
<pre><code class="language-cpp">#include&lt;stdio.h&gt;
#include&lt;ctype.h&gt;

int main(void)
{
  char zeile[20];
  printf(&quot;Bitte einen String mit maximal 19 Buchstaben eigeben: &quot;);
  gets[zeile];
  if(isupper(zeile[0]))
  {
    printf(&quot;Erstes Zeichen von %s ist ein Grossbuchstabe\n&quot;, zeile);
  }

  return 0;
}
</code></pre>
<p>Mein erster Ansatz war wie folgt:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;ctype.h&gt;
using namespace std;

int main()
{
  std::string Text;
  string *pText = &amp;Text;

  cout &lt;&lt; &quot;Geben Sie einen Text ein!\n&quot;;
  getline(cin, Text);
  cout &quot;\n&quot;;
  cout &lt;&lt; &quot;Das haben Sie eingegeben:\n&quot;
  cout &lt;&lt; Text;
  cout &lt;&lt; &quot;\n&quot;;
  cout &lt;&lt; &quot;Speicheradresse des Strings: &quot; &lt;&lt; &amp;Text &lt;&lt; &quot;\n&quot;;
  cout &lt;&lt; &quot;\n&quot;;

  if(isupper(Text))
  {
    cout &lt;&lt; Folgende Buchstaben sind Grossbuchstaben: \n&quot;;
    cout &lt;&lt; Text;
  }

  return 0;
}
</code></pre>
<p>Jedoch bekomme ich folgende Fehlermeldung:</p>
<pre><code class="language-cpp">Error C2664: 'isupper': Konvertierung des Parameters 1 von 'std::string' in 'int' nicht möglich
</code></pre>
<p>Nun zu meiner Frage:</p>
<p>Welchen Denkfehler habe ich??</p>
<p>Danke für die Antworten im Voraus.</p>
<p>Gruß</p>
<p>Max</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280801</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Thu, 27 Dec 2012 07:50:44 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 09:47:37 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Welchen Denkfehler habe ich??</p>
</blockquote>
<p>&quot;isupper&quot; möchte einen einzelnen Charakter bekommen. Du übergibst ihm einen kompletten std::string</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280805</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Mon, 17 Dec 2012 09:47:37 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 09:49:20 GMT]]></title><description><![CDATA[<p><code>char zeile[20]</code> ist grundverschieden von <code>std::string</code> . Bitte nimm dir ein Buch und festige Grundlagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280807</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 17 Dec 2012 09:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 09:50:50 GMT]]></title><description><![CDATA[<p>std::isupper kann nur ein Zeichen und keine Kette auswerten. Du brauchst eine Schleife, in der je Zeichen diese Funktion aufgerufen wird und wenn es ein Großbuchstabe ist, dessen Adresse ausgegeben wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280809</guid><dc:creator><![CDATA[EinGast]]></dc:creator><pubDate>Mon, 17 Dec 2012 09:50:50 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 09:51:32 GMT]]></title><description><![CDATA[<p>Was ist denn jetzt eigentlich Sache?? Die vergangenen Tage hieß es, ich soll so viel wie möglich std::string benutzen und jetzt heißt es, dass ich char nehmen soll...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280810</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 09:51:32 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 09:59:31 GMT]]></title><description><![CDATA[<p>EinGast schrieb:</p>
<blockquote>
<p>std::isupper kann nur ein Zeichen und keine Kette auswerten. Du brauchst eine Schleife, in der je Zeichen diese Funktion aufgerufen wird und wenn es ein Großbuchstabe ist, dessen Adresse ausgegeben wird.</p>
</blockquote>
<p>Wie müsste denn die Schleife aussehen? Irgendwie happert es bei mir da... Weil ich muss doch isupper auf den Text bringen...</p>
<p>Bzw. wie meinst Du das mit der Schleife?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280811</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 09:59:31 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 10:00:14 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Was ist denn jetzt eigentlich Sache?? Die vergangenen Tage hieß es, ich soll so viel wie möglich std::string benutzen und jetzt heißt es, dass ich char nehmen soll...</p>
</blockquote>
<p>schau dir erstmal den Zusammenhang von string und char an.</p>
<p>Was genau sollte std::isupper deiner Meinung nach zurückliefern, wenn du einen ganzen String übergibst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280812</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Mon, 17 Dec 2012 10:00:14 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 10:02:24 GMT]]></title><description><![CDATA[<p>daddy_felix schrieb:</p>
<blockquote>
<p>schau dir erstmal den Zusammenhang von string und char an.</p>
<p>Was genau sollte std::isupper deiner Meinung nach zurückliefern, wenn du einen ganzen String übergibst?</p>
</blockquote>
<p>Ich dachte mir halt, dass, wenn ich einen String übergebe, mir durch std::isupper die ganzen Großbuchstaben im Text, den ich per Konsole übergebe, zurückgibt.</p>
<p>Ist dies überhaupt möglich? Falls ja, wie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280813</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 10:02:24 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 10:09:47 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Ich dachte mir halt, dass, wenn ich einen String übergebe, mir durch std::isupper die ganzen Großbuchstaben im Text, den ich per Konsole übergebe, zurückgibt.</p>
</blockquote>
<p>Da brauchst du nicht denken sondern nur die Dokumentation zu isupper durchlesen. Z.B da: <a href="http://www.cplusplus.com/reference/cctype/isupper/" rel="nofollow">http://www.cplusplus.com/reference/cctype/isupper/</a></p>
<p>Aber dann müßtes du auch den Prototypen verstehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280816</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Mon, 17 Dec 2012 10:09:47 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 10:32:25 GMT]]></title><description><![CDATA[<p>Also ich habe jetzt den Code wie folgt umgeändert:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;ctype.h&gt;
#include &lt;stdio.h&gt;
using namespace std;

int main()
{
	char Text[]=&quot;&quot;;
	char *pText = &amp;Text;
	char c;

	cout &lt;&lt; &quot;Geben Sie einen Text ein!\n&quot;;
	gets(Text);
	cout &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Das haben Sie eingegeben:\n&quot;;
	cout &lt;&lt; Text;
	cout &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Speicheradresse des Strings: &quot; &lt;&lt; &amp;Text &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;\n&quot;;

	while(Text[i])
	{
		c=Text[i];
		if(isupper(c)) c = tolower(c);
		putchar(c);
		i++;
	}

	return 0;
}
</code></pre>
<p>Trotzdem bekomme ich folgende Fehlermeldungen:</p>
<pre><code class="language-cpp">error C2440: 'Initialisierung': 'char (*)[1]' kann nicht in 'char *' konvertiert werden
 fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2280821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280821</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 10:32:25 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 10:34:52 GMT]]></title><description><![CDATA[<p>Ist der erste Code aus der Aufgabe? Das sieht nicht so aus als würdet ihr C++ machen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280822</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 17 Dec 2012 10:34:52 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 10:37:12 GMT]]></title><description><![CDATA[<p>Ja, der erste Code ist aus der Aufgabe.</p>
<p>Edit:</p>
<p>Der allererster Code, den ich gepostet habe, ist aus der Aufgabe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280823</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 10:37:12 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 10:37:09 GMT]]></title><description><![CDATA[<p>Das ist reines C..? Ich vage mal die Aussage, dass ihr garkein C++ macht bei euch, sondern C.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280824</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 17 Dec 2012 10:37:09 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 10:41:03 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Was ist denn jetzt eigentlich Sache?? Die vergangenen Tage hieß es, ich soll so viel wie möglich std::string benutzen und jetzt heißt es, dass ich char nehmen soll...</p>
</blockquote>
<p>Das glaube ich nicht. Es gibt einige Unterschide zwischen <code>char[20]</code> , <code>std::string</code> , <code>char*</code> und <code>char</code> . Tut mir leid, wir konnen dir nur Dinge sagen, das Verstehen koennen wir dir nicht abnehmen. Das musst du selbst, in erster Linie durch Denken. Aber nicht im Sinne von Ausdenken sondern von Nachdenken (schon wieder ein Unterschied). Woruber nachdenken? Ueber Dinge die da sind, z.B. ueber Typen wie int, char, float. Und wenn in <code>isupper</code> als Parameter ein <code>char</code> verlangt wird, aber <code>std::string</code> benutzt werden soll, stellt sich die Frage: Ist ein <code>char</code> ein <code>std::string</code> bzw. kann dieser automatisch umgewandelt werden. Die Antwort hierauf ist: Nein! Also kann <code>isupper</code> nicht direkt mit <code>std::string</code> benutzt werden. Trotzdem kann dein Problem geloest werden. Wie? Frage bitte nochmal, wenn du die Grundlagen verstanden hast.</p>
<p>PS: Ist dieser Beitrag gemein oder arrogant? Vielleicht. Aber Gemeinheiten oder Hochnaesigkeit war nicht meine Absicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280826</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 17 Dec 2012 10:41:03 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 10:41:27 GMT]]></title><description><![CDATA[<p>Sorry, aber wir nehmen im Fach Datenverarbeitungstechnik die Programmiersprache C++ durch.</p>
<p>Wir hatten im ersten Jahr der Technikerschule die Programmiersprache C.</p>
<p>Vielleicht will der Lehrer, dass wir die Programmiersprache C nicht ganz vergessen. Ich weiß jedoch nicht genau, warum unser Lehrer uns die Aufgabe gegeben hat.</p>
<p>Ich versuche nur, die Aufgabe in C++ zu machen, mehr nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280827</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 10:41:27 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:11:07 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>PS: Ist dieser Beitrag gemein oder arrogant? Vielleicht. Aber Gemeinheiten oder Hochnaesigkeit war nicht meine Absicht.</p>
</blockquote>
<p>Ich finde Deinen Beitrag weder gemein, arrogant noch hochnäsig. Du wirst wahrscheinlich das geschrieben haben, was Du Dir gedacht hast.</p>
<p>Dennoch hätte ich noch eine Frage.</p>
<p>Ich habe folgenden Code geschrieben:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;local&gt;
#include &lt;ctype.h&gt;
#include &lt;stdio.h&gt;
using namespace std;

int main()
{
	char Text[500000]=&quot;&quot;;
	char *pText = &amp;Text[500000];
	char c;
	char *p = &amp;c;
	int i=0;

	cout &lt;&lt; &quot;Geben Sie einen Text ein!\n&quot;;
	gets(Text);
	cout &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Das haben Sie eingegeben:\n&quot;;
	cout &lt;&lt; Text;
	cout &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Speicheradresse des Strings: &quot; &lt;&lt; &amp;Text &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;\n&quot;;

	while(Text[i])
	{
		c=Text[i];
		if(isupper(c)) c = tolower(c);
		putchar(c);
		i++;
	}

	cout &lt;&lt; c &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &amp;c &lt;&lt; &quot;\n&quot;;
	return 0;
}
</code></pre>
<p>Dabei ist mir in der Ausgabe folgendes aufgefallen:<br />
Aus &quot;Hallo&quot; macht er mir &quot;hallo&quot; und bei der ausgabe der Speicheradresse bekomme ich nur kryptische Zeichen.</p>
<p>Woran liegt das? Ich dachte, ich hätte das Codebeispiel von <a href="http://www.cplusplus.com/reference/cctype/isupper/" rel="nofollow">http://www.cplusplus.com/reference/cctype/isupper/</a> auf mein Problem richtig angewendet.</p>
<p>Hättet ihr vielleicht einen Tipp, wie ich die Speicheradresse der Großbuchstaben auslesen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280830</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:11:07 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:11:34 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Ich weiß jedoch nicht genau, warum unser Lehrer uns die Aufgabe gegeben hat.</p>
</blockquote>
<p>Da du sehr große Probleme hast die Aufgabe umzusetzen, ist sie sicher nicht verkehrt.</p>
<p>Fehlermeldungen haben meist auch eien Angabe über die Zeile (und manche auch Spalte), wo der Fehler auftritt. Da sollte man mal nachsehen.</p>
<p>Du weißt immer noch nicht was das bedeutet:</p>
<pre><code>char Text[]=&quot;&quot;;
    char *pText = &amp;Text;
</code></pre>
<p>Aber zumindest ist es Mist.<br />
Arrays haben eine feste Länge, die ist bei dir durch den Leerstring auf 1 (eins) festgesetzt.<br />
Der Name des Arrays steht schon für deie Anfangsadresse. Darum kommt da auch kein &amp; mehr hin.</p>
<p>Wo kommt das i auf einmal her?</p>
<p>Und was hat der Codde mit der Frage aus dem Titel zu tun?<br />
Der gibt (wenn er läuft) den Text in Kleinbuchstaben aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280833</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:11:34 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:17:27 GMT]]></title><description><![CDATA[<p>DirkB schrieb:</p>
<blockquote>
<p>Arrays haben eine feste Länge, die ist bei dir durch den Leerstring auf 1 (eins) festgesetzt.<br />
Der Name des Arrays steht schon für deie Anfangsadresse. Darum kommt da auch kein &amp; mehr hin.</p>
</blockquote>
<p>Warum auf 1??</p>
<p>Ich wollte durch</p>
<pre><code class="language-cpp">char Text[500000] = &quot;&quot;;
</code></pre>
<p>eigentlich bezwecken, dass man einen beliebig langen Text eingeben kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280835</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:17:27 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:19:20 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Aus &quot;Hallo&quot; macht er mir &quot;hallo&quot;</p>
</blockquote>
<p>Joa, is ja richtig.</p>
<p>silent_max schrieb:</p>
<blockquote>
<p>und bei der ausgabe der Speicheradresse bekomme ich nur kryptische Zeichen.</p>
</blockquote>
<p>Ja, da ist der Ausgabeoperator ein bisschen doof. Weil an dieser Stelle ein char liegt, denkt er da kommt nun eine Zeichenkette. Mach mal <code>cout &lt;&lt; reinterpret_cast&lt;void*&gt;(&amp;c)</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280837</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:19:20 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:21:05 GMT]]></title><description><![CDATA[<p>Ok, war eine zeitliche Überschneidung.</p>
<p>500000 ist etwas übertrieben.<br />
Das Element mit dem Index Text[500000] existiert nicht. Also ist die Adresse davon auch nicht gültig. Aber die benutzt du ja auch nicht weiter.</p>
<p>In Zeile 34 bekommt cout einen Zeiger auf char. Der wird als Nullterminierte Zeichenkette aufgefasst.<br />
Ist es aber nicht, da du nur ein einzelnes Zeichen hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280838</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:21:05 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:32:56 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>Ja, da ist der Ausgabeoperator ein bisschen doof. Weil an dieser Stelle ein char liegt, denkt er da kommt nun eine Zeichenkette. Mach mal <code>cout &lt;&lt; reinterpret_cast&lt;void*&gt;(&amp;c)</code></p>
</blockquote>
<p>Jetzt gibt es nur noch einen Schönheitsfehler:</p>
<p>Wenn ich jetzt meinen Vornamen, Maximilian, eingebe, wird mir folgendes Ausgegeben:</p>
<p>004A5C2F<br />
M004A5C2F<br />
a004A5C2F<br />
x004A5C2F<br />
i004A5C2F<br />
m004A5C2F<br />
i004A5C2F<br />
l004A5C2F<br />
i004A5C2F<br />
a004A5C2F<br />
n</p>
<p>Wie kann ich denn das so verändern, dass mir für das letzt n die Speicheradresse ausgelesen wird?</p>
<p>Hier der Code, um den es geht:</p>
<pre><code class="language-cpp">while(Text[i])
	{
		c=Text[i];
		if(isupper(Text[i]));
		cout &lt;&lt; reinterpret_cast&lt;void*&gt;(&amp;c) &lt;&lt; &quot;\n&quot;;
		putchar(c);
		i++;
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2280839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280839</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:32:56 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:41:18 GMT]]></title><description><![CDATA[<p>Jetzt bekomme ich komischerweise folgende Fehlermeldung:</p>
<pre><code class="language-cpp">fatal error LNK1168: &quot;D:\Sebastian\eigene Dokumente\Visual Studio 2010\Projects\CPP Programmierung\Debug\Eigene Übung 088 - Pointer auf Großbuchstaben.exe&quot; kann nicht zum Schreiben geöffnet werden.
</code></pre>
<p>Hier nochmal der ganze Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;ctype.h&gt;
#include &lt;stdio.h&gt;
#include &lt;locale&gt;
using namespace std;

int main()
{
	char Text[500000]=&quot;&quot;;
	char *pText = &amp;Text[500000];
	char c;
	char *p = &amp;c;
	int i=0;

	cout &lt;&lt; &quot;Geben Sie einen Text ein!\n&quot;;
	gets(Text);
	cout &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Das haben Sie eingegeben:\n&quot;;
	cout &lt;&lt; Text;
	cout &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Speicheradresse des Strings: &quot; &lt;&lt; &amp;Text &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;\n&quot;;

	while(Text[i])
	{
		c=Text[i];
		if(isupper(Text[i]));
		cout &lt;&lt; reinterpret_cast&lt;void*&gt;(&amp;c) &lt;&lt; &quot;\n&quot;;
		putchar(c);
		i++;
	}

	cout &lt;&lt; c &lt;&lt; &quot;\n&quot;;
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2280840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280840</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:41:18 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:40:58 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Wie kann ich denn das so verändern, dass mir für das letzt n die Speicheradresse ausgelesen wird?</p>
</blockquote>
<p>Die steht doch da.</p>
<p>Allerdings hast du</p>
<pre><code>cout &lt;&lt; reinterpret_cast&lt;void*&gt;(&amp;c) &lt;&lt; &quot;\n&quot;;  // Adresse und Newline ausgeben
        putchar(c);  // Zeichen ausgeben
</code></pre>
<p>Wo steht jetzt die Adresse für dein Zeichen?</p>
<p>Was soll eigentlich das ; in Zeile 4 ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280841</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:40:58 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:43:24 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Jetzt bekomme ich komischerweise folgende Fehlermeldung:</p>
<pre><code class="language-cpp">fatal error LNK1168: &quot;D:\Sebastian\eigene Dokumente\Visual Studio 2010\Projects\CPP Programmierung\Debug\Eigene Übung 088 - Pointer auf Großbuchstaben.exe&quot; kann nicht zum Schreiben geöffnet werden.
</code></pre>
</blockquote>
<p>Dann beende doch erst mal den vorhergehenden Testlauf.</p>
<p>Der Compiler/Linker kann deine Exe nicht überschreiben, da sie noch ausgeführt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280842</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:43:24 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:46:11 GMT]]></title><description><![CDATA[<p>Warum wird jetzt die Speicheradresse vom letzten Buchstaben ausgegeben, wenn ich die Speicheradresse vom ersten Buchstaben will?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2280843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280843</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:46:11 GMT</pubDate></item><item><title><![CDATA[Reply to Speicheradressen von Großbuchstaben - gelöst on Mon, 17 Dec 2012 11:50:35 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Warum wird jetzt die Speicheradresse vom letzten Buchstaben ausgegeben, wenn ich die Speicheradresse vom ersten Buchstaben will?</p>
</blockquote>
<p>Dann hast du das so programmiert.<br />
Der Compiler macht das, was du schreibst und nicht das was du willst.</p>
<p>Nochmal:<br />
Das if in Zeile 28 hat keinen Effekt weil:</p>
<p>DirkB schrieb:</p>
<blockquote>
<p>Was soll eigentlich das ; in Zeile 4 (jetzt 28)?</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2280845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2280845</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Mon, 17 Dec 2012 11:50:35 GMT</pubDate></item></channel></rss>