Remplacer un caractére par un autre en c

Résolu
fati56 Messages postés 24 Statut Membre -  
fati56 Messages postés 24 Statut Membre -
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.
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. vlmath Messages postés 833 Statut Contributeur 160
     
    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