fopen: Fester Dateipfad mit String als Dateinamen?



  • Abend zusammen!

    Ich habe eine Frage: Wie kann ich in der Funktion fopen einen festen Pfad wie zB (C:\Dev-Cpp\ "Dateiname") mit einem String als Dateinamen erzeugen?!

    Habe weder im Galileo OpenBook noch mit der Suche was gefunden.

    Danke für die Hilfe!



  • du meist wohl sowas:
    fopen("C:\*DEV-CPP\\MyFolder\*MyFoldersSubfolder\*MyFoldersSubfoldersSubfolder*\**filename.txt", "r");



  • Autoschieber schrieb:

    Ich habe eine Frage: Wie kann ich in der Funktion fopen einen festen Pfad wie zB (C:\Dev-Cpp\ "Dateiname") mit einem String als Dateinamen erzeugen?!

    na, z.b. zuerst mit sowas wie 'sprintf' den string basteln und dann an fopen übergeben, etwa so:

    ...
    char *filename = "myfile.txt";
    char str[256];
    sprintf (str, "c:\\dev\\blah\\blubb\\%s", myfile);
    fopen (str, ...);
    ...
    


  • Absolute Pfadangaben innerhalb eines Programms haben bei mir immer zu
    Problemen geführt daher würd ich die eher vermeiden, oder extern in
    ner config Datei ablegen.
    Möglich wäre auch den path seperator da raus zu lassen:

    #define MS
    
    #ifdef MS
    #define PATH_SEP "\\"
    #else
     #ifdef UNIX
     #define PATH_SEP "/"
     #else
      #error XYZ
     #endif
    #endif
    
    int main(void)
    {
        char *x = 	"C:"PATH_SEP
        			"dev"PATH_SEP
        			"blah"PATH_SEP
        			"blubb"PATH_SEP;
    
        printf("%s%s", x,myfile);
    
        return 0;
    }
    


  • c_newbie schrieb:

    Möglich wäre auch den path seperator da raus zu lassen:

    ja, hast recht. mein beispiel sollte auch nur eine möglichkeit des string-zusammenbastelns zeigen.
    🙂



  • Also habs mal mit frickys Möglichkeit umgesetzt.

    Vielen Dank an alle! 🙂


Anmelden zum Antworten