Problème de programme en C
Fermé
cyrinix
-
1 juin 2008 à 22:49
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 2 juin 2008 à 00:46
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 2 juin 2008 à 00:46
A voir également:
- Problème de programme en C
- Programme demarrage windows 10 - Guide
- Désinstaller programme windows 10 - Guide
- Mettre en veille un programme - Guide
- Programme démarrage windows 10 - Guide
- Forcer la fermeture d'un programme - Guide
1 réponse
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
2 juin 2008 à 00:46
2 juin 2008 à 00:46
le probleme c'est que le fgets() s'arrete de lire des qu'il trouve un \n ça veut dire que tu lis la premiere ligne de ton fichier tu la stocke dans chaine ensuite tu lis la deuxieme tu la stocke a nouveau dans chaine ce qui fais que la premiere ligne sera effacé etc... donc a la fin tu as dans chaine que la derniere ligne du fichier
tu devrais plutot essayé de lire caractere par caractere
essaye ça
tu devrais plutot essayé de lire caractere par caractere
essaye ça
#include<stdio.h> #include<stdlib.h> #include<string.h> #define TAILLEMAX 1000 //tableau de taille 1000 int main(int argc, char *argv[]) { FILE *fichier =NULL; char chaine [TAILLEMAX ]=" "; // chaine vide de taille TAILLEMAX int i;char c; fichier =fopen("test.txt","r"); i=0; if (fichier !=NULL) { while(c!= EOF){ c=fgetc(fichier); chaine[i]=c; i++;} } chaine[i-1]='\0'; printf("%s", chaine); //on affiche la chaine fclose(fichier); return 0; } void Affiche_mot (char* s) { if(s!=NULL) { int length=strlen(s); int i =0; while(i<length) { if(s[i]!= ' ' &&s[i]!='\n') { printf("%c", s[i]); } else printf("\n"); i++; } } }