🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #709

Re: Schlechte Eingabemethode?

#709
From: Harald Fuchs
Date: Thu, 02 Nov 1995 12:41
31 lines
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-mail
References: <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