A voir également:
- [Language C]Besoin d'aide pour crypteur Merci
- "Winamp language pack" ✓ - Forum Logiciels
- The language dll vb6fr.dll could not be found - Forum Windows
- %D language c ✓ - Forum C
- Windows 7 language pack french download ✓ - Forum Windows 7
- Pack language francais windows 7 ✓ - Forum Windows 7
4 réponses
Et lorsque tu lui passe tes parametres, b est une variable ? Ou le caractere b ?
Si c'est la deuxieme option, c'est 'b', et non pas b.
Et ton retour de ta fonction Replacing n'est pas bon. Tu retourne buf qui est un char * alors que dans la définition de ta fonction, tu retourne un char.
c'est :
char *Replacing(...){
...
}
Pareil pour les arguments que tu lui passe, (char to_search, ...), or lorsque tu l'appelle, tu lui passe keycode qui un un char[100].
De ce fait, ta comparaison 'if (text[i] == to_search)', est fausse.
Et pour finir,
les globales,
c'est MAL.
;).
Cdlmt.
Si c'est la deuxieme option, c'est 'b', et non pas b.
Et ton retour de ta fonction Replacing n'est pas bon. Tu retourne buf qui est un char * alors que dans la définition de ta fonction, tu retourne un char.
c'est :
char *Replacing(...){
...
}
Pareil pour les arguments que tu lui passe, (char to_search, ...), or lorsque tu l'appelle, tu lui passe keycode qui un un char[100].
De ce fait, ta comparaison 'if (text[i] == to_search)', est fausse.
Et pour finir,
les globales,
c'est MAL.
;).
Cdlmt.
Salut,
j'ai pas testé ton code, mais a vue d'oeuil je te dirais de placer ta fonction Replacing avant ton main :).
Cdlmt.
j'ai pas testé ton code, mais a vue d'oeuil je te dirais de placer ta fonction Replacing avant ton main :).
Cdlmt.
Char Snipeur
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 329
11 juin 2012 à 08:34
11 juin 2012 à 08:34
inutile. En revanche, il faut déclarer la fonction avant le main.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 817
11 juin 2012 à 11:09
11 juin 2012 à 11:09
Pas mal de mauvaises habitudes fans ce code.
Evite les variables globales.
Ce n'est pas printf(bug) mais printf("%s", buf);
Si tu ne mets pas de saut de ligne, tu dois mettre un fflush(stdout);
Pas besoin de parenthèse pour return(0) : ce n'est pas une fonction.
Verifie la valeur de retour de malloc sinon tu peux avoir de mauvaises surprises.
Pas d'espaces avant %s dans le scanf. Pas de & non plus pour là variable text.
Je m'arrête là. Prends en compte tout ça et reposte le code dans les balises code.
Et mets les messages d'erreur du compilo si t'en a.
Evite les variables globales.
Ce n'est pas printf(bug) mais printf("%s", buf);
Si tu ne mets pas de saut de ligne, tu dois mettre un fflush(stdout);
Pas besoin de parenthèse pour return(0) : ce n'est pas une fonction.
Verifie la valeur de retour de malloc sinon tu peux avoir de mauvaises surprises.
Pas d'espaces avant %s dans le scanf. Pas de & non plus pour là variable text.
Je m'arrête là. Prends en compte tout ça et reposte le code dans les balises code.
Et mets les messages d'erreur du compilo si t'en a.
Bonjour. Cela fonctionne à moitié. Tout de suite après un espace il arrête.
Si j'écris par exemple salut les amis, ça va afficher juste sblut. Pourriez-vous m'aider s'il vous plait. Cela serait gentil.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char text[10000];
char *buf;
int i=0,j=0;
char temp[1024];
char *Replacing(char to_search, char to_replace_with){
while(text[i] !='\0')
{
if(text[i] == to_search )
{
temp[j] = to_replace_with;
i++;
j++;
}
else
temp[j++] = text[i++];
}
temp[j] = '\0';
buf = (char *) malloc(strlen(temp) + 1);
strcpy(buf,temp);
return buf;
}
int main(int argc, char *argv[]) {
printf("Welcome \n");
scanf(" %s", text);
Replacing('a', 'b');
printf("%s", buf);
return (0);
}
Si j'écris par exemple salut les amis, ça va afficher juste sblut. Pourriez-vous m'aider s'il vous plait. Cela serait gentil.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 817
12 juin 2012 à 07:55
12 juin 2012 à 07:55
Faut utiliser fgets plutôt sur scanf.