J'ai un programme qui demande d'entrer une chaîne (mystring) et un char (ch). Ensuite, il supprime tous les caractères entrés (ch) de la chaîne (mystring). Par exemple "abcabc" et char 'a' alors le résultat devrait être "bcbc". -Quand j'utilise scanf le programme fonctionne bien si la chaîne n'a pas d'espaces. Si je saisis "abc abc abc" Il lit et ne traite que les 3 premières lettres (jusqu'à l'espace). Ensuite, on m'a conseillé d'utiliser gets (mystr); parce qu'il peut lire tout ce qui bouge. Mais quand j'utilise le résultat est le même que la chaîne d'entrée et rien ne se passe.C supprimer des caractères de la chaîne
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 100
int main(int argc, char *argv[])
{
char mystr[N] ,result[N];
char ch;
int i,k;
k=0;
printf("enter string \n");
//gets(mystr);///////////////////////////
//scanf("%s",&mystr);///////////////////
printf("enter char \n");
scanf("%c",&ch);
scanf("%c",&ch);
for (i = 0; i <= strlen(mystr); i++)
{
if (mystr[i] != ch)
{
result[k]=mystr[i];
k++;
}
}
puts(result);
system("pause");
return 0;
}
** ne pas ** utiliser 'gets()'. C'est intrinsèquement dangereux. –