Klenes Problem



  • Also mein Problem ist einfach erstma mein Code:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
      FILE *f;
      char file_name[255];
      char name[20],v_name[20];
      char ort[20],strasse[20];
      printf ("Wie soll die neue Datei heissen: ");
      scanf ("%s",file_name);
      getchar();
      f = fopen (file_name,"w");
      if (f == NULL)
      {
      printf ("Konnte Datei %s nicht erstellen\n",file_name);
      exit(0);
    }
    printf ("Vorname :");
    fgets (name,sizeof(name),stdin);
    printf ("Nachname :");
    fgets (name,sizeof(v_name),stdin);
    printf ("Ort :");
    fgets (name,sizeof(ort),stdin);
    printf ("Strasse :");
    fgets (name,sizeof(strasse),stdin);      	
    fputs(name,f);
    fputs(v_name,f);
    fputs(ort,f);
    fputs(strasse,f);
    fclose(f);
    
      return 0;
    }
    

    Also aber jetzt beim Starten kommt immer "Wie soll die neue Datei heissen:"
    Des soll ja auch so sein aber dann kommt en kleines Problem und zwar kommt:
    Vorname:Nachname:
    ich weiß aber net warum hoffe auf Hilfe



  • als erstste sollte man man ein " \n " nach "vorname:" setzten damit man in die nächste zeile kommt.

    und wie is das? es überspringt das fgets zwischen "vor-" und "nachname" aber vor "ort" wird eine eingabe abgewartet?



  • ja es soll aber eine eingabe bei erwartet werden:
    Vorname:
    Nachname:
    Ort:
    Strasse



  • Durch die Eingabe mit scanf() hängt noch ein '\n' im Eingabebuffer. Das wird mit dem ersten fgets() gelesen, ohne dass fgets() auf eine weitere Eingabe wartet. Wie man den Eingabebuffer leert steht hoffentlich in der FAQ.



  • ok habs Thema kann geclosed werden


Anmelden zum Antworten