Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question#include <stdio.h> // fonction de base(printf, fgets,....) #include <string.h> // strtok() -> decoupage de chaine de caracteres #include <stdlib.h> // atoi -> convertir une chaine de caractere en un entier #define CMAX 400 // Nombre de ligne maximum du tableau #define LMAX 400 // Nombre de colonne maximum du tableau #define MAX_CHAR_PER_LINE 1650 // Nombre de caratere maximum par ligne dans le fichier lu : 3*400+400+1 = 1601 mais j'ai mis 1650 pour arrondir #define SEP "\t" // Séparateur utilisé dans le fichier #define PATH "d:\\meteo.txt" // Mets l'emplacement de ton fichier contenant les valeurs int main(int argc, char* argv[]) { FILE* m_File; int i = 0; int j; float Tab[LMAX][CMAX]; char szbuff[MAX_CHAR_PER_LINE]; char* token; // On initialise le tableau a -1 for(i=0;i<LMAX;i++) { for(j=0;j<CMAX;j++) { Tab[i][j] = -1; } } // On réinitialise le compteur de ligne car i;a été incrémenté lors de l'iniatialisation i = 0; // On ouvre le fichier en lecture seule et en mode texte m_File = fopen(PATH,"rt"); // On vérifie qu'il n'y ai pas eu d'erreur pendant l'ouverture du fichier if(!m_File) return 1; // On lit le fichier ligne a ligne et on stocke les valeurs dans un tableau d'entier // La boucle while a l'avantage de permettre la lecture d'un fichier sans connaitre son nombre de ligne exact // et nous évite donc de faire bugger le programme // Le "feof" veut "End Of File". On lit donc jusuqu'à la fin du fichier while(!feof(m_File) && i < LMAX) { j = 0; // On récupere la ligne courante du fichier fgets(szbuff,MAX_CHAR_PER_LINE,m_File); // On decoupe la ligne selon le charactere de séparation SEP (" ") token = strtok(szbuff,SEP); // On lit les éléments découpés un à un et on les stocke dans le tableau Tab while(token != NULL && j < CMAX) { // On stocke la valeur lue dans le tableau Tab[i][j] = atof(token); // On lit l'element suivant retourner par strtok token = strtok(NULL,SEP); // On incremente le compteur des ordonnées j++; } // On incrémente le compteur des abscisses i++; } // On affiche le tableau pour etre sur que tout s'est bien passé... Le \t correspond au caractere tabulation for(int x=0;x<i;x++) { for(int y=0;y<j;y++) { printf("%f\t",Tab[x][y]); } printf("\n"); } return 0; }