begin process at 2010 02 09 23:13:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

remplacer une lettre par une autre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

remplacer une lettre par une autre

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ée 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

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales