Add file parsing code to lexer
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 20 Oct 2017 10:00:15 +0000 (12:00 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 20 Oct 2017 10:00:15 +0000 (12:00 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
lexer/main.c

index 8b137891791fe96927ad78e64b0aad7bded08bdc..bb3c6aea0588433425d39213380b64571191fd5b 100644 (file)
@@ -1 +1,36 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
 
+FILE *source, *target = NULL;
+char c;
+
+int main (int argc, char const *argv[]) {
+
+    // Ouvre le fichier test.txt en lecture seulement (le fichier doit exister) :
+    source = fopen("test.txt", "r");
+    // Cree et ouvre un fichier target.html en lecture/ecriture
+    // avec suppression du contenu au prealable :
+    target = fopen("target.html", "w+");
+
+    if (source == NULL) {
+        printf("Impossible d'ouvrir le fichier source\n");
+        return -1;
+    }
+
+    if (target == NULL) {
+        printf("Impossible d'ouvrir le fichier target\n");
+        return -1;
+    }
+
+    c = fgetc(source);     // lecture du caractere suivant du fichier source
+    while(c != EOF) {        // tant que la fin du fichier n'est pas atteinte
+        fputc(c, target);   // ecrire c dans le fichier target
+        c = fgetc(source); // lecture du caractere suivant du fichier source
+    }
+
+    if (source != NULL) fclose(source); // fermeture du fichier source
+    if (target != NULL) fclose(target); // fermeture du fichier target
+
+    return 0;
+}