Utilisation de strtok
maniqk
-
maniqk -
maniqk -
Bonjour,
Je suis en train de spammer le forum mais à chaque fois que j'avance il y a quelque chose qui ne va pas... Mon nouveau problème est le suivant :
Je souhaite lire dans un fichier des valeurs qui ont été générées par Matlab. Voici mon code :
Je demande donc d'afficher le tableau, mais j'obtiens seulement la première ligne de mon fichier, et toutes les autres lignes sont à 0 (probablement parce que j'ai initialisé mon tableau de cette façon). Du coup je ne comprends pas pourquoi... La fonction fgets "saute" la ligne tout seul non ? Pourquoi est ce que je ne lis pas les autres lignes de mon fichier ? Probablement une erreur dans le code mais je ne la vois pas...
Merci d'avance,
maniqk
Je suis en train de spammer le forum mais à chaque fois que j'avance il y a quelque chose qui ne va pas... Mon nouveau problème est le suivant :
Je souhaite lire dans un fichier des valeurs qui ont été générées par Matlab. Voici mon code :
#define nb_lig_matrice 10 #define nb_col_matrice 10 void main(void){ FILE *fichier_matrice = NULL; char chaine[TAILLE_MAX] = ""; char *token = NULL; float Tab[nb_lig_matrice][nb_col_matrice] = {0}; fichier_matrice = fopen("U:\\Mes documents\\MATLAB\\data.txt","r"); if(fichier_matrice!=NULL){ while(fgets(chaine,TAILLE_MAX,fichier_matrice)!=NULL && i<nb_lig_matrice){ token = strtok(chaine," "); while(token != NULL && j < nb_col_matrice){ // On stocke la valeur lue dans le tableau Tab[i][j] = atoi(token); // On lit l'element suivant retourner par strtok token = strtok(NULL," "); // On incremente le compteur des ordonnées j++; } i++; } fclose(fichier_matrice); } // Affichage du tableau i=0; j=0; while(i<nb_lig_matrice){ for(j=0;j<nb_col_matrice;j++){ printf("%f ",Tab[i][j]); } printf("\n"); i++; }
Je demande donc d'afficher le tableau, mais j'obtiens seulement la première ligne de mon fichier, et toutes les autres lignes sont à 0 (probablement parce que j'ai initialisé mon tableau de cette façon). Du coup je ne comprends pas pourquoi... La fonction fgets "saute" la ligne tout seul non ? Pourquoi est ce que je ne lis pas les autres lignes de mon fichier ? Probablement une erreur dans le code mais je ne la vois pas...
Merci d'avance,
maniqk
A voir également:
- Utilisation de strtok
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- La ressource demandée est en cours d'utilisation ✓ - Forum Logiciels
- Family link temps d'utilisation ne fonctionne pas - Forum Contrôle parental
- Impossible d'utiliser ce numéro de téléphone pour la validation - Forum Gmail
1 réponse
Re re re re re coucou,
J'ai trouvé... J'aurais bien aimé supprimé le post du coup mais je ne peux pas.
Pour info, il fallait remettre la variable j à 0 une fois sortie de la boucle while(), il écrivait en fait dans des cases qui n'existaient pas... Je me demande pourquoi du coup il ne m'a pas sorti d'erreur mais bon...
J'ai trouvé... J'aurais bien aimé supprimé le post du coup mais je ne peux pas.
Pour info, il fallait remettre la variable j à 0 une fois sortie de la boucle while(), il écrivait en fait dans des cases qui n'existaient pas... Je me demande pourquoi du coup il ne m'a pas sorti d'erreur mais bon...