Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : remplacer une lettre par une autre [ Archives / Au secours ] (shadow1779)

mardi 8 novembre 2005 à 16:56:09 | remplacer une lettre par une autre

shadow1779

Membre Club
bonjour,

j'vai prendre un exemple simple pour illustrer mon programme,

je fais un gets(buffer); et ensuite un printf("%s",buffer); admettons que j'ai tapé "a" lors du gets, je veux que la chaine buffer ai en fait "d" par exemple comment puis je faire ,??

mardi 8 novembre 2005 à 17:00:16 | Re : remplacer une lettre par une autre

jul39dole

tu écris buffer[0]='d'; entre tes deux instructions. Mais je n'ai peut être pas compris toute la finesse de la question...

mardi 8 novembre 2005 à 17:06:04 | Re : remplacer une lettre par une autre

shadow1779

Membre Club
en gros c'est pour faire un systeme de cryptage tout basique, qui serait d'inverser des lettre ou les remplacer par des caracteres speciaux,

genre a = r
           b = c ...
.

mardi 8 novembre 2005 à 19:20:12 | Re : remplacer une lettre par une autre

Galmiza

Tu te fais un tableau de correspondance.

struct SCorrespondance:
{
 char cCaractere;
 char cRemplaçant;
}

Ensuite tu analyses caractere par caractere ta chaine et tu remplaces si le caractere a une correspondance.
Attention de ne pas faire 2 remplacement.
Il te faut un tableau de la meme taille que la chaine de caractere pour savoir lesquels tu as remplacé.


mercredi 9 novembre 2005 à 16:31:31 | Re : remplacer une lettre par une autre

marik7335

Membre Club
tu parcours ta chaine et grâce une table de correspondance tu remplaces simplement à l'index adéquat.
tu peux coder une structure du type :

en reprenant ce qu'a dit Galmiza tu codes une structure de la manière suivante :

struct SCorrespondance:
{
  char cCaractere;
  char cRemplaçant;
}

puis un tableau de struct SCorrespondance de 26 éléments : struct SCorrespondance lettres[26]; //pour les 26 lettres

pour trouver l'index de la lettre :
tu utilises un masque qui te reverra 1 pour A, 2 pour B etc ... (pour celà il faut mettre à zero les bits à gauche)
tu peux l'implémenter de la manière suivante :  ( (int) lettre & 0x0F )

exemple pour A : code ASCII (65) :
1000 0001 et 0000 1111 = 0000 0001

int indice = ( (int) lettre & 0x0F );
lettres[code-1] pour trouver la lettre;

samedi 12 novembre 2005 à 03:18:22 | Re : remplacer une lettre par une autre

Poufine

Je viens de retrouver mon premier programme (qui n'est pas si vieux que ca ):
en esperant que ca t'aidera....


#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>

int main(int argc,char **argv) {
FILE *fileSource, *fileDest;
 char c;
  int length;
  if (argc != 4) {
    printf("Usage : prog fileSource fileDest 1/0 \n");//1 pour coder 0 pour decoder ou l'inverse comme tu veux
    exit(-1);
  }


char source[]="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ'";
char code[]  ="qwertyu iopasdfghjklzxcvbnmPOIUYTREWQLK'JHGFDSAMNBVCXZ";


  fileSource = fopen(argv[1],"r");
  fileDest   = fopen(argv[2],"w");

  if (!(fileSource && fileDest)) {
  fprintf(stderr,"Probleme d'ouverture de fichier\n");
  exit(-1);
 }

if(atoi(argv[3]))
{
 while((length = fread(&c,sizeof(char),1,fileSource)) != 0) {
  int i=0;
   while(c!=source[i] && i<strlen(source))
   i++;
  
   char d;
   if(i!=strlen(code))
    d=code[i];
   else
    d='!';
  fwrite(&d,sizeof(char),1,fileDest);
 }
}
else
{
 while((length = fread(&c,sizeof(char),1,fileSource)) != 0) {
  int i=0;
   while(c!=code[i] && i<strlen(code))
   i++;

   char d;
   if(i!=strlen(code))
    d=source[i];
   else
    d='!';
  fwrite(&d,sizeof(char),1,fileDest);
 }
}
 fclose(fileSource);
 fclose(fileDest);

 printf("\tUn fichier codé\n");

return 0;
}




Cette discussion est classé dans : buffer, exemple, remplacer, lettre, gets


Répondre à ce message

Sujets en rapport avec ce message

Manipulation de grands fichiers [ par jb60 ] Bonjour, c'est encore moi ;-)Je me demande si lorsque l'on manipule un grand fichier (plusieurs Mo, voir même plusieurs Go) on peut mettre toutes les argc et argv[] [ par shadow1779 ] bon voila, qqn pourrait t'il mexpliquer comment on fait avec argv[] afin par exemple de ne selectionner que le deuxieme mot dans une chaine de caracte Remplacer une lettre par une autre lettre [ par ScorpionTiti ] Salut!Je voudrais dans un de mes programmes en C remplacer une lettre par une autre lettre dans une chaine de caractères contenu dans un fichier .txt. Remplacer un filtre par un autre sous directshow [ par bigzooloo ] Bonjour,j'aimerais remplacer un filtre (par exemple, un compresseur video comme DivX) par un autre (par exemple XviD) en cours d'execution du programm gets() marche plus apres fermeture de thread [ par dyroj ] bonjour, est-il normale que fgets() block quand on lapele plus dune foi, //envoi en mode tcp WINA verification de code [ par dyroj ] salut a tous,je voudrai savoir si il y a des faute au niveu de la fonction select() et si je suis obliger de metre sock+1 au lieu de sock dans se peti analyseur lexical pascal [ par perrotta ] Bonjour, dsl pour ma langue je parle pas bien le français; je suis entrin de devlopper un analyseur lexical pour un programme (pascal) prèci ,et j'ai Client / Serveur => Je m'enmèle les pinceaux avec le buffer, les boucles etc. [C] [ par matad0r ] Bonjour, bonjour!J'ai récemment créé une petite application client/serveur de rien du tout (je suis débutant), en m'aidant de ça : http://c.developpez buffer [ par Hous30 ] Bonjour, Pour mon projet de fin d'année je dois recupérer des données dans un buffer en c++ programmer sous visual studio. Ces données sont des coordo [FFMPEG] Exemple d'extraction du son d'une vidéo [ par Electroniktor ] Bonjour tout le mondeJe voudrais faire un programme en C ou en C++ capable d'extraire le son mp3 d'une vidéo au format FLV. Pour ce j'aimerais utilise


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.