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); }