Datei benennen



  • Hallo!

    Ich möchte ein Programm schreiben, welches eine Datei öffnet bzw. anlegt. Der Name der Datei soll per Tastatur eingegeben werden. Die Datei soll eine *.txt Endung bekommen.

    Problem: Wie "sage" ich dem Programm, dass es der Variablen 'Datei' noch ein ".txt" ranhängen soll?

    MfG

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    
      char Datei[20];
      FILE *fp;
    
      printf("Den Dateinamen bitte: ");
      scanf("%s", &Datei);
    
      fp=fopen(Datei, "a+");  /*Hier soll eine *.txt Datei erzeugt werden, welche
                                den Namen der Tastatureingabe hat*/
    
      fclose(fp);
    
      system("PAUSE");	
    
      return 0;
    }
    


  • ist doch richtig

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    
      char Datei[20],buf[25];
      FILE *fp;
    
      printf("Den Dateinamen bitte: ");
      scanf("%s", &Datei);
      sprintf(buf,"%s.txt",Datei);    
      fp=fopen(buf, "a+");  /*Hier soll eine *.txt Datei erzeugt werden, welche
                                den Namen der Tastatureingabe hat*/
    
      fclose(fp);
    
      system("PAUSE");    
    
      return 0;
    }
    

    MFG TaccoGo



  • Ich für meinen Teil bevorzuge strcat

    strcat(Datei,".txt");
    

    Dazu müsstet du natürlich noch die string.h einbinden.
    Und nimm endlich mal den system-Befehl raus! 😡 😉

    Anmelden könntest du dich natürlich auch mal, wenn du hier eh schon viel unterwegs bist! 🙂



  • Hier nochmal:
    Wenn man Strings einliest, dann gehört kein &-Operator vor das Char-Array!!!

    sytem("PAUSE") => siehe anderer Thread. Bitte was besseres verwenden! (Wenn man schon sowas reinbaut 🙄 )


Anmelden zum Antworten