PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ueberlauf



sven1978
10-12-2002, 21:10
ich will einen Namen einlesen.der darf aber nicht laenger als 5 zeichen haben.
sobald ich mehr als 5 buchstaben eingebe bekomme ich einen fehler beim ablauf
weil(VERMUTUNG von einem NEWBIE) mein Speicherplatz der variablen nicht ausreicht.Wie kann ich mich dagegen schuetzten?
Quelltext:

#include <stdio.h>


void main (void)
{
char vorname[5];
scanf("%5s",&vorname);
printf("%s",vorname);
}

anda_skoa
10-12-2002, 21:14
Zum Beispiel mit fgets.
Diese Funktion hat einen Parameter, mit dem man die Länge angeben kann.

zB



char name[6]; // 5 Zeichen Name + \0
fgets(name, 6, stdin);


Ciao,
_

sven1978
10-12-2002, 21:16
ok probier ich mal danke fuer die hilfe