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
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Frequence programme national ✓ - Forum Messagerie
- Programme demarrage windows 10 - Guide
- Programme bonjour ✓ - Forum Windows
- Programme démarrage windows 10 - 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
435
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++;
}
}
}