gets löscht erstes Zeichen



  • Hallo!
    Ich geb ja zu dass ich totaler C Neuling bin, hab nämlich folgendes Problem:
    Mein (Wahnsinns)Programm soll eine Tastatureingabe über die Funktion getchar() aufnehmen und speichern. Wenn ich die Eingabe mit gets() in einen String um wandeln will, wird ständig das erste Zeichen gelöscht. Woran liegts?

    mfg, Jakob

    void teladd(void)
    {
      struct Eingabe
      {
      char Name[16], /* ... */ ;
      }
      Eintrag;
    
      clrscr();
      printf("\tNamen eingeben :\t");
      getchar();
      gets(Eintrag.Name);
    
    /* ... */
    
    printf("\n\t %s", Eintrag.Name);
    }
    


  • b0kaJ schrieb:

    getchar();

    Hier liest Du ein Zeichen und verwirfst es sofort.

    gets(Eintrag.Name);

    Hier liest Du den Rest. Achja: Nimm nicht gets. Nimm fgets.



  • k, wie gesagt: C Noob. Danke!


Anmelden zum Antworten