Datei linken



  • Wenn ich eine TextDatei ins Projekt binde (So wie ne Lib),wie kann ich diese Datei öffnen ohne das ich sie seperat mitliefern muss?

    Mfg
    Kleiner Anfänger



  • Kleiner Anfänger schrieb:

    Wenn ich eine TextDatei ins Projekt binde (So wie ne Lib),wie kann ich diese Datei öffnen ohne das ich sie seperat mitliefern muss?

    hast du die datei dazugelinkt? --> read the fine linker manual 😉
    in 'reinem' C müsstest du die datei erstmal in ein char-array umwandeln und dann kannst du, wie bei arrays üblich (mit * oder []), darauf zugreifen.
    🙂



  • Haste en Code Beispiel für mich?



  • Ich will eine TextDatei ins Projekt binden.
    Diese soll beim Programm start ausgelesen werden und der Inhalt der Datei soll ausgegeben werden.
    Will halt nicht die Datei seperat mitliefern.



  • Kleiner Anfänger schrieb:

    Ich will eine TextDatei ins Projekt binden.

    damit kannst du eine datei in ein array umwandeln:

    #include <stdio.h>
    #include <stdlib.h>
    
    void fail (char *s)
    {
        printf ("Sorry, $s\n", s);
        exit (-1);
    }
    
    int main()
    {
        FILE *fp;
        char fname[512];
        int cnt = 1;
    
        printf ("fopen? ");
        scanf ("%s", fname);
        fp = fopen (fname, "rb");
        if (!fp)
            fail ("Can't open that file");
    
        fputs ("unsigned char my_array[] = {\n", stdout);
        for (;;)
        {
            char buff[16];
            int c, next;
            c = fgetc (fp);
            if (c == EOF)
                break;
            next = fgetc (fp);
            ungetc (next, fp);
            sprintf (buff, next != EOF ? "0x%02x, " : "0x%02x};\n\n", c);
            fputs (buff, stdout);
            if (!(cnt++ %8))
                fputs ("\n", stdout);
        }
        fclose (fp);
    }
    

Anmelden zum Antworten