Remplacer un caractére par un autre en c

Résolu/Fermé
fati56 Messages postés 24 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 26 juillet 2008 - 28 mars 2008 à 15:36
fati56 Messages postés 24 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 26 juillet 2008 - 28 mars 2008 à 22:04
Bonjour,
bon je chherche a écrire un programme en c qui a comme but de recevoir une chaine de caractére ,et le remplacer par un autre selon la demande de l'utilisateur de mon programme
voici mon code:
je cherche depuis l'erreur mais bon je n'y arrive tjs pas a retrv le bléme
#include <stdio.h>
#include <stdlib.h>

int main()
{
char ch[4555];
char n,k;
int i,nbc;
printf("entrer votre chaine de caractére\n");
fgets(ch,4555,stdin);
printf("entrer le caractére que vous souhaitez remplacer:\n");
scanf("%c",&n);
printf("entrer le nouveau caractére:\n");
scanf("%c",&k);
nbc=strlen(ch);

for(i=0;i<=nbc;i++)
if(ch[i]==n);
{ch[i]==k;}
getch();
}
merci.
A voir également:

3 réponses

vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
28 mars 2008 à 17:07
Salut,

Essaye ça :
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h>

int main() 
{ 
	char ch[4555]; 
	char n,k; 
	int i,nbc;
	
	printf("entrer votre chaine de caractére\n"); 
	fgets(ch,4555,stdin); 

	printf("entrer le caractére que vous souhaitez remplacer:\n"); 
	scanf("%c",&n); 

	printf("entrer le nouveau caractére:\n"); 
	scanf("%c",&k); 
	scanf("%c",&k);
	// J'ai mis une double affectation pour supprimer le \n qui se trouve à la fin du tampon du premier scan
	// Je n'ai rien trouvé de plus jolie

	nbc=strlen(ch);
	
	for(i=0;i<nbc;i++)
	{
		if( ch[i] == n ) ch[i]=k;
		
		printf("%c",ch[i]);
	}
}


@Bientôt
0