Codage et décodage d'un fichier en C
Fermé
sigmaaaa
Messages postés
7
Date d'inscription
jeudi 13 décembre 2012
Statut
Membre
Dernière intervention
3 janvier 2013
-
2 janv. 2013 à 22:01
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 3 janv. 2013 à 11:59
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 3 janv. 2013 à 11:59
A voir également:
- Codage et décodage d'un fichier en C
- Codage ascii - Guide
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
2 janv. 2013 à 23:46
2 janv. 2013 à 23:46
Bonjour,
N'utilise pas gets(), c'est obsolète, utilise plutôt fgets(). Et attention à supprimer le '\n' final.
Sinon, merci d'écrire ici ta question. Et dis plutôt précisément ce qui te pose problème. Montre ce que tu as fait dans la question, et ce qui bloque.
N'utilise pas gets(), c'est obsolète, utilise plutôt fgets(). Et attention à supprimer le '\n' final.
Sinon, merci d'écrire ici ta question. Et dis plutôt précisément ce qui te pose problème. Montre ce que tu as fait dans la question, et ce qui bloque.
sigmaaaa
Messages postés
7
Date d'inscription
jeudi 13 décembre 2012
Statut
Membre
Dernière intervention
3 janvier 2013
Modifié par sigmaaaa le 3/01/2013 à 01:51
Modifié par sigmaaaa le 3/01/2013 à 01:51
Bonjour fiddy,
1. Tu peux m'expliquer comment je peux utiliser "fgets()" dans mes codes, s'il te plaît?
J'ai cherché sur internet et j'ai changé "gets" dans mes codes comme ci-dessous mais ça marche pas:
2. Ma question pour la partie "codage" est: comment je dois faire pour traduire une chaîne de caractère en code ASCII? Est-ce que ce que j'ai fait en-dessus est juste? Parce que quand je essaie de traduire ma chaîne de caractère, le résultat n'est pas correct et je n'arrive pas de trouver le problème dans ma fonction 'void coder(...)'
1. Tu peux m'expliquer comment je peux utiliser "fgets()" dans mes codes, s'il te plaît?
J'ai cherché sur internet et j'ai changé "gets" dans mes codes comme ci-dessous mais ça marche pas:
getchar(); printf("Veillez donner le chemin du fichier source: "); fgets(f1name,50,f1); printf("Veillez donner le chemin du fichier cible: "); fgets(f2name,50,f2); f1=fopen(f1name,"r+"); f2=fopen(f2name,"w+");
2. Ma question pour la partie "codage" est: comment je dois faire pour traduire une chaîne de caractère en code ASCII? Est-ce que ce que j'ai fait en-dessus est juste? Parce que quand je essaie de traduire ma chaîne de caractère, le résultat n'est pas correct et je n'arrive pas de trouver le problème dans ma fonction 'void coder(...)'
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
3 janv. 2013 à 11:59
3 janv. 2013 à 11:59
1. gets() permet de lire sur l'entrée stdin, il faut donc que tu introduises stdin dans fgets(). Ce qui donne : fgets(f1name, sizeof f1name, stdin)
Ensuite, faut enlever le '\n' avec :
2. Ta méthode pour convertir un caractère en code ascii est correcte. En revanche, dans ta fonction coder() tu ne calcules pas le nombre de caractères successifs identiques. Dis autrement, ta séquence calcule n, mais pas c.
Ensuite, faut enlever le '\n' avec :
char *p; if ( (p = strchr (f1name, '\n')) != NULL ) *p='\0';
2. Ta méthode pour convertir un caractère en code ascii est correcte. En revanche, dans ta fonction coder() tu ne calcules pas le nombre de caractères successifs identiques. Dis autrement, ta séquence calcule n, mais pas c.