Langage C

polocouturier87 Messages postés 4 Date d'inscription lundi 11 octobre 2010 Statut Membre Dernière intervention 11 octobre 2010 - 11 oct. 2010 à 15:13
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 11 oct. 2010 à 20:55
Bonjour a tous je débute en C.

J'aimerai avoir un code permettant de remplacer toute les occurence d'une chaine de caractere 1 par la chaine 2 dans une chaine de caractere.

par exemple

1=ber 2=ol donc robert devient roolt
et
1=na 2=pot donc ananas devient apotpots

pourriez vous m'aider s'il vous plait
merci d'avance

cordialement polo

8 réponses

cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
11 oct. 2010 à 16:30
Salut,

Regarde dans les sources de Brunews tu trouveras ce que tu cherches.

@+
Arnotic,
Admin CS
0
polocouturier87 Messages postés 4 Date d'inscription lundi 11 octobre 2010 Statut Membre Dernière intervention 11 octobre 2010
11 oct. 2010 à 16:44
Merci as-tu un lien?
cordialement polo
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
11 oct. 2010 à 16:47
Ici, premier lien:
http://lmgtfy.com/?q=c+replace+str

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
11 oct. 2010 à 16:49
Sauf que le code trouvé sur le premier est entièrement nul !

Normalement, il doit être capable de faire une recherche sur code source et trouver la liste des sources de Brunews.

@+
Arnotic,
Admin CS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
polocouturier87 Messages postés 4 Date d'inscription lundi 11 octobre 2010 Statut Membre Dernière intervention 11 octobre 2010
11 oct. 2010 à 17:05
merci quand mm mais j'ai toujours pas trouvé

Cordialement polo
@+
0
polocouturier87 Messages postés 4 Date d'inscription lundi 11 octobre 2010 Statut Membre Dernière intervention 11 octobre 2010
11 oct. 2010 à 17:13
avec sa tu pourra peut etre m'aider


/*Déclarations des bibliothèques*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/*********************** Fonction principale *******************************/
int main()
{

int i, j, k, Nb_CH1, Nb_CH2, Nb_Mot_debut, Nb_Mot_fin;
char Mot_debut[30], Mot_fin[30], CH1[15], CH2[15];
printf("Quel est le mot ou vous voulez effectuer le remplacement?\n");
scanf("%s", Mot_debut);
printf("Que voulez-vous remplacer?\n");
scanf("%s", CH1);
printf("Par ...\n");
scanf("%s", CH2);


strcpy(Mot_fin,Mot_debut);
Nb_Mot_debut = strlen(Mot_debut);
Nb_Mot_fin = strlen(Mot_fin);
Nb_CH1 = strlen(CH1);
Nb_CH2 = strlen(CH2);
//for(i=0;i<30;i++)

while(CH1[0]!=Mot_debut[i]||CH1[1]!=Mot_debut[i+1]||CH1[2]!=Mot_debut[i+2]||CH1[3]!=Mot_debut[i+3]);
{
i++;
}

//if(CH1[0]=Mot_debut[i]&&CH1[1]=Mot_debut[i+1]&&CH1[2]=Mot_debut[i+2]&&CH1[3]=Mot_debut[i+3])
{
Mot_fin[i-1]=CH2[0];
Mot_fin[i]=CH2[1];
Mot_fin[i+1]=CH2[2];
Mot_fin[i+2]=CH2[3];
}

for (k=0; k<Nb_Mot_debut; k++)
{
for(j=i+Nb_CH1 ; j < Nb_Mot_debut ; j++)
{
Mot_fin[j+k] = Mot_debut[j];

}
}

printf("Voici le nouveau mot : %s\n",Mot_fin);


system("PAUSE");
return 0;

}


le pb est que ce code fonctionne uniquement si CH1est de taille 4 et aussi il efface la fin du mot a remplacer


Cordialement polo
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
11 oct. 2010 à 17:28
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 oct. 2010 à 20:55
J'ai repondu à son MP:

REMPLACE DANS TOUTE UNE CHAINE
http://www.cppfrance.com/code.aspx?id=23920

ciao...
BruNews, MVP VC++
0
Rejoignez-nous