Problème de lecture a partir d'un fichier.
Résolu/Fermé
strix-dev
Messages postés
9
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
28 janvier 2011
-
28 janv. 2011 à 00:02
strix-dev Messages postés 9 Date d'inscription lundi 6 décembre 2010 Statut Membre Dernière intervention 28 janvier 2011 - 28 janv. 2011 à 01:58
strix-dev Messages postés 9 Date d'inscription lundi 6 décembre 2010 Statut Membre Dernière intervention 28 janvier 2011 - 28 janv. 2011 à 01:58
A voir également:
- Problème de lecture a partir d'un fichier.
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Ouvrir un fichier .bin - Guide
3 réponses
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
5 février 2025
1 526
28 janv. 2011 à 00:51
28 janv. 2011 à 00:51
C'est parce que fscanf() s'arrête quand il y a un espace.
Utilise fread() avec la taille de la chaine pour tout lire.
Utilise fread() avec la taille de la chaine pour tout lire.
#include <stdio.h> #include <stdlib.h> int main() { char t[30]; FILE *f; int size; f=fopen("savegarde.txt", "w"); printf("Donner un mot:"); gets(t); fprintf(f,"%s", t); fclose(f); size = strlen(t); f=fopen("savegarde.txt", "r"); fread(t, size, 1, f); printf("%s", t); fclose(f); return 0; }
Leinox
Messages postés
227
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
2 septembre 2015
29
28 janv. 2011 à 00:04
28 janv. 2011 à 00:04
Il me semble qu'un char n'apprécie guère les espaces. Tout simplement.
strix-dev
Messages postés
9
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
28 janvier 2011
28 janv. 2011 à 00:05
28 janv. 2011 à 00:05
Alors comment resoudre le probleme?
Leinox
Messages postés
227
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
2 septembre 2015
29
28 janv. 2011 à 00:10
28 janv. 2011 à 00:10
Tu peux, soit créer une file de caractère (non pas un char, mais bien une file). Je ne connais que les codes pour faire de l'objet pour faire ça, je suis un informaticien encore à ses débuts.
Soit, la solution de facilité serai de ne pas mettre un espace et commencer chaque mot par un espace. ex : "aide moi" devient "AideMoi".
Tu peux encore créer une nouvelle chaine de caractère pour chaque mot et les afficher en plaçant des arguments.
(Si un VRAI pro passe par ici et vois que je dis n'importe quoi qu'il m'arrête tout de suite ^^)
Soit, la solution de facilité serai de ne pas mettre un espace et commencer chaque mot par un espace. ex : "aide moi" devient "AideMoi".
Tu peux encore créer une nouvelle chaine de caractère pour chaque mot et les afficher en plaçant des arguments.
(Si un VRAI pro passe par ici et vois que je dis n'importe quoi qu'il m'arrête tout de suite ^^)
28 janv. 2011 à 01:58