Eingabe überprüfen / Inhalt einfügen

grillse

Mitglied
Hallo,

ich möchte eine Eingabe (cin.getline(name, 60);) überprüfen und wenn nichts eingegeben wurde ein Leerzeichen einfügen...allerdings habe ich irgendwie derzeit kein Plan wie *blackout* :>

Mfg
 
Das sind char arrays.

Code:
cout << setw(20) << "Firmenname: ";
        cin.getline(fname, 60);
        cout << setw(20) << "Nachname: ";
        cin.getline(name, 60);
        cout << setw(20) << "Vorname: ";
        cin.getline(vname, 60);
...


Die Daten werden danach in eine Datei gespeichert und irgendwann auch wieder ausgelesen. Wenn allerdings bei der Eingabe nichts eingegeben wird verschiebt sich das beim auslesen alles...

Daher möchte ich das überprüfen und dann ein Leerzeichen oder z.B. das Wort "leer" einfügen.

Gruß Tom
 
Wenn cin.getline() keine Eingabe bekommt, setzt es ein Fehlerbit und ändert den Buffer nicht. Versuch das mal:

Code:
cout << setw(20) << "Nachname: ";
name[0= '\0';
cin.getline(name, 60);

if ( strlen( name ) == 0 ) cout << "strlen sagt, das Chararray ist leer";

if ( name[0] == '\0' ) cout << "Der erste char ist 0; das Chararray ist leer";
 
Zuletzt bearbeitet:
Ich hatte einen Fehler in der Zeile mit strlen() gemacht, richtig sollte es so sein:
Code:
if ( strlen( name ) == 0 ) cout << "strlen sagt, das Chararray ist leer";
 
Zurück