Partage
  • Partager sur Facebook
  • Partager sur Twitter

Stocker les données d'un fichier dans un tableau

Transférer un fichier dans un tableau de char

    17 février 2017 à 19:52:11

    Bonjour,

    Je souhaiterais transférer toutes les lignes de mon fichier nommé test.txt dans mon tableau de char. J'ai choisi d'afficher le tableau pour voir si mon code marche. Mon problème est le suivant: le texte que je souhaiterais voir s'afficher ne s'affiche pas. A lieu de ça, j'ai des caractères spéciaux qui s'affichent sur ma console. J'ai tout essayé, mais je n'arrive pas à trouver mon erreur. (Code commenté ci-dessous) Toute aide est la bienvenue. Merci d'avance!

    void prog()
    {
        int i;
        int nombreligne = 0; ///nombre lignes fichier = nombre lignes tableau
    
        FILE*test = NULL;
        fic = fopen("test.txt", "r");
    
        if (fic != NULL)
        {
            char tampon[100]; ///Taille maximale d'une ligne
    
            while(fgets(tampon, sizeof tampon, fic) != NULL) ///Lecture d'une ligne
            {
                nombreligne++; ///on incrémente à chaque ligne
            }
    
            for(i=0; i<nombreligne; i++) ///Boucle for pour tableau
            {
                char tableau[i]; ///Déclaration
                tableaufichier[i] = tampon; ///Remplissage
                printf("%s\n", tableaufichier);///Affichage
            }
    
    
            fclose(fic); ///Fermeture du fichier
        }
        else
        {
            printf("Erreur d'ouverture");
        }
    }



    • Partager sur Facebook
    • Partager sur Twitter
      17 février 2017 à 20:22:06

      Bonjour,

      Les variables fic et tableauFichier ne sont pas déclarées.

      Ligne 20, lorsque i vaut 0, il y a violation de C11 6.7.6.2§5 :
      If the size is an expression that is not an integer constant expression: [] each time it is evaluated it shall have a value greater than zero.


      • Partager sur Facebook
      • Partager sur Twitter
        17 février 2017 à 20:24:32

        Étant flemmard, je m'épargne le travail déjà effectuer.

        #include <stdio.h>
        #include <stdlib.h>
        #include <glib.h>
        
        int
        main(int argc, char ** argv) {
        	char * contents = NULL;
        	GError *err = NULL;
        
        	if(g_file_get_contents("text", &contents, NULL, &err) != TRUE) {
        		fprintf(stderr, "Unable to read file: %s", err->message);
        		g_error_free(err);
        	} else {
        		fputs(contents, stdout);
        	}
            free(contents);
        
        	return (EXIT_SUCCESS);
        }
        gcc-6 -o a a.c -Wall -pedantic `pkg-config --cflags --libs glib-2.0`

        -
        Edité par ASW_ 17 février 2017 à 20:48:49

        • Partager sur Facebook
        • Partager sur Twitter

        Stocker les données d'un fichier dans un tableau

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown