Article View: de.comp.lang.c++
Article #709Re: Schlechte Eingabemethode?
From: Harald Fuchs
Date: Thu, 02 Nov 1995 12:41
Date: Thu, 02 Nov 1995 12:41
31 lines
2305 bytes
2305 bytes
kl@kl.in-berlin.de (Kaspar Landsberg) writes: KL> Und nun zur eigentlichen Frage: Der Compiler hat eigentlich fuer eingabe KL> nur Speicherplatz fuer ein Char-Objekt von *einem* Zeichen bereitgestellt. KL> Daher wird doch, falls mehr als ein Zeichen eingegeben wird (z.b. KL> "Kaspar") mehr Speicher benutzt, als eigentlich vom Compiler KL> vorhergesehen, bzw. bereitgestellt, so dass eventuell schon besetzter KL> Speicherplatz einfach durch die Eingabe von "Kaspar" bzw. von "aspar" KL> ueberschrieben wird, oder?? Richtig. KL> Wenn ja, dann sollte man also derartige Methoden lieber ganz schnell KL> vergessen, nehme ich kann... Geht nicht. Die durchgängige Behandlung von char* als nullterminierte Strings kommt aus der C-Tradition. Auch wenn im neuen Standard meistens eine String-Klasse verwendet wird, so wird es dennoch Jahre dauern, bis diese Fehlerquelle trockengelegt ist. Übrigens gibt es bei den istreams für sowas die Funktion setw(). KL> PS Fuer "char *eingabe = new char" haette man (IMO) auch einfach nur KL> "char *eingabe" nehmen koennen. Nicht unbedingt, weil dadurch die Adresse keinen gültigen Anfangswert hätte (es sei denn, "eingabe" wäre eine globale Variable). In Deinem Beispiel zeigt eingabe aber tatsächlich in den Heap und dürfte dadurch die Hauptspeicherverwaltung durcheinander bringen. Wenn eingabe dagegen woanders hinzeigt, bekommt man oft "Memory fault - core dumped", und das ist ja viel weniger interessant :-)
Technical Details
Message-ID:
<puivl3mbn6.fsf@themroc.colibri.de>Path:
arc1-ca.pugleaf.net!rz.uni-karlsruhe.de!not-for-mailReferences:
<5x0NrSGKhjB@kl.in-berlin.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!rz.uni-karlsruhe.de!not-for-mail From: hf@colibri.de (Harald Fuchs) Newsgroups: de.comp.lang.c++ Subject: Re: Schlechte Eingabemethode? Date: 02 Nov 1995 13:41:49 +0100 Organization: Colibri GmbH, Germany Sender: hf@themroc.colibri.de Message-ID: <puivl3mbn6.fsf@themroc.colibri.de> References: <5x0NrSGKhjB@kl.in-berlin.de> NNTP-Posting-Host: teco10a.teco.uni-karlsruhe.de Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit In-reply-to: kl@kl.in-berlin.de's message of 01 Nov 1995 08:20:00 +0100 X-WWW-Home-Page: http://www.colibri.de/~hf/ X-PGP-Public-Key: finger hf@colibri.de X-PGP-Fingerprint: 09 4E C4 A2 B2 C5 33 1A 79 80 5D 39 BD 9B 89 39 X-Disclaimer: Kore wa Colibri no iken dewa arimasen X-Newsreader: Gnus v5.0.9