Lire et écrire dans des fichiers
alpha
-
alpha -
alpha -
Bonjour,
J'ai fait l'algorithme suivant qui consiste à chiffrer un message contenu dans test.txt (le message est "Coucou !" et le fichier contient bien 8 caractère), mais il lit indéfiniment et ne tient pas compte de ma ligne de code lorsque je lui lance le signal EOF :
J'ai fait l'algorithme suivant qui consiste à chiffrer un message contenu dans test.txt (le message est "Coucou !" et le fichier contient bien 8 caractère), mais il lit indéfiniment et ne tient pas compte de ma ligne de code lorsque je lui lance le signal EOF :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fichier = NULL;
int caractereActuel = 0, i = 0;
char caractereLettre = 0;
fichier = fopen("test.txt", "r+");
if(fichier != NULL)
{
/* Chiffrer le message */
do
{
caractereActuel = fgetc(fichier); /* On lit le caractère */
printf("ASCII : %d, char : %c\n", caractereActuel, caractereActuel);
caractereActuel += 10; /* Chiffrement */
fseek(fichier, -1, SEEK_CUR); /* On remplace le caractère actuel par le caracttère chiffrer */
fputc(caractereActuel, fichier); /* On remplace le caractère actuel par la caractère a */
printf("ASCII : %d, char : %c\n", caractereActuel, caractereActuel);
printf("\n");
} while(caractereActuel != EOF); /* On continue tant que fgetc n'a pas retourné EOF (fin de fichier) */
rewind(fichier); /* On se positionne au début du fichier */
/* Déchiffrer le message */
do
{
caractereActuel = fgetc(fichier); /* On lit le caractère */
printf("ASCII : %d, char : %c\n", caractereActuel, caractereActuel);
caractereActuel -= 10; /* Chiffrement */
fseek(fichier, -1, SEEK_CUR); /* On remplace le carcatère chiffrer par le caractère déchiffrer */
fputc(caractereActuel, fichier); /* On remplace le caractère actuel par la caractère a */
printf("ASCII : %d, char : %c\n", caractereActuel, caractereActuel);
printf("\n");
} while(caractereActuel != EOF); /* On continue tant que fgetc n'a pas retourné EOF (fin de fichier) */
fclose(fichier);
}
else
{
printf("Impossible d'ouvrir test.txt\n");
}
return EXIT_SUCCESS;
}
A voir également:
- Lire et écrire dans des fichiers
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire fichier epub - Guide
- Lire fichier bin - Guide
- Renommer des fichiers en masse - Guide
- Lire fichiers rar - Guide
3 réponses
Je constate que ma réponse dans l'autre post t'a servi.
Un petit message pour dire que la réponse te convient et éventuellement de remerciement serait bienvenus. Ça nous permettra de clore l'ancien post et nous encouragera :-)))
Google is your friend
Un petit message pour dire que la réponse te convient et éventuellement de remerciement serait bienvenus. Ça nous permettra de clore l'ancien post et nous encouragera :-)))
Google is your friend
Bonjour,
Ah, j'ai vu le message. Du coup, ça me donne envie de répondre ;-).
Alors, je te conseille déjà d'utiliser des fonctions (une pour chiffrer, une pour déchiffrer).
Ensuite, ça pose problème de lire et récrire dans le même fichier de cette façon. Le mieux est d'ouvrir le fichier courant en lecture, créer un temporaire qui contiendra le résultat en écriture. Et ensuite, si tu le souhaites, tu peux supprimer le fichier courant et renommer l'autre.
Cdlt,
Ah, j'ai vu le message. Du coup, ça me donne envie de répondre ;-).
Alors, je te conseille déjà d'utiliser des fonctions (une pour chiffrer, une pour déchiffrer).
Ensuite, ça pose problème de lire et récrire dans le même fichier de cette façon. Le mieux est d'ouvrir le fichier courant en lecture, créer un temporaire qui contiendra le résultat en écriture. Et ensuite, si tu le souhaites, tu peux supprimer le fichier courant et renommer l'autre.
Cdlt,