Article View: de.comp.lang.c++
Article #793Re: Schlechte Eingabemethode?
From: Nico Josuttis
Date: Tue, 14 Nov 1995 15:49
Date: Tue, 14 Nov 1995 15:49
29 lines
1490 bytes
1490 bytes
In article <wm1GlMD37Caez3@a-schoep.amtrash.comlink.de>,
Andreas Schoepf <A.Schoepf@AmTrash.comlink.de> wrote:
>besser ist folgendes:
>
>#include <iostream.h>
>#include <stream.h>
>int main(void)
>{
> char input_line[80];
> cout << "\nName: ";
> cin >> input_line;
> char *eingabe = new char[strlen(input_line)+1];// wegen der terminierenden
> // 0 ein Zeichen mehr
> strcpy(*eingabe,input_line);
> cout << "Ergebnis: " << *eingabe << "\n";
> return 0;
>}
Und da ist wieder der ach so beliebte C-Fehler, naemlich anzunehmen, dass
eine Zeile hoechstens 79 (? wieso nicht 80 ?) Zeichen lang sein kann.
Also um den Absturz zu vermeiden, noch besser:
> cin >> setw(80) >> input_line;
oder
> cin >> setw(sizeof(input_line)) >> input_line;
--
Nico address: BREDEX GmbH, Nicolai Josuttis
email: nico@bredex.de Fallersleber-Tor-Wall 23
phone: +49 531 24330-0 D-38100 Braunschweig
fax: +49 531 24330-99 Germany
Technical Details
Message-ID:
<DI1IM3.4u3@bredex.de>Path:
arc1-ca.pugleaf.net!lumumba.braunschweig.pop.de!bredex!nicoReferences:
<5x0NrSGKhjB@kl.in-berlin.de> <wm1GlMD37Caez3@a-schoep.amtrash.comlink.de>Show Full Headers
Complete Article Headers
Newsgroups: de.comp.lang.c++ Path: arc1-ca.pugleaf.net!lumumba.braunschweig.pop.de!bredex!nico From: nico@bredex.de (Nico Josuttis) Subject: Re: Schlechte Eingabemethode? Message-ID: <DI1IM3.4u3@bredex.de> Reply-To: nico@bredex.de Organization: Bredex GmbH References: <5x0NrSGKhjB@kl.in-berlin.de> <wm1GlMD37Caez3@a-schoep.amtrash.comlink.de> Date: Tue, 14 Nov 1995 15:49:14 GMT