[C] Help!! Renvoi de pointeur.
Résolu
igeek96
Messages postés
143
Date d'inscription
Statut
Membre
Dernière intervention
-
igeek96 Messages postés 143 Date d'inscription Statut Membre Dernière intervention -
igeek96 Messages postés 143 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je voudrais envoyer un "pointeur sur tableau vide" a une fonction pour que cette dernière remplisse le tableau vide. Voyez :
Lors de la compilation, ca plante et les erreurs suivantes sont indiquées (lignes en gras dans le code ci dessus) :
14 : error > invalide type argument of 'unary *'
24 : warning > passing argument 2 of 'mettreEnEtoiles' makes integer pointer without a cast
Pouvez vous m'aider s'il vous plait? Mercii
Je voudrais envoyer un "pointeur sur tableau vide" a une fonction pour que cette dernière remplisse le tableau vide. Voyez :
#include <stdio.h> #include <stdlib.h> #include <string.h> void mettreEnEtoiles(const char chaineDeBase[], char pointeurSurResultat) { long i = 0, longeurChaineDeBase = 0; char x[] = "*"; longeurChaineDeBase = strlen(chaineDeBase); for(i = 0 ; i < longeurChaineDeBase ; i++) { strcat(*pointeurSurResultat, x); } } int main(int argc, char *argv[]) { char mot[] = "Exemple"; char resultat[100] = ""; char *pointeurSurResultat = &resultat[100]; mettreEnEtoiles(mot, pointeurSurResultat); printf("%s", resultat); return 0; }
Lors de la compilation, ca plante et les erreurs suivantes sont indiquées (lignes en gras dans le code ci dessus) :
14 : error > invalide type argument of 'unary *'
24 : warning > passing argument 2 of 'mettreEnEtoiles' makes integer pointer without a cast
Pouvez vous m'aider s'il vous plait? Mercii
A voir également:
- [C] Help!! Renvoi de pointeur.
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Désactiver renvoi d'appel ooredoo - Forum Mobile
- Double clic excel renvoi cellule ✓ - Forum Excel
- Desactiver renvoi mobilis ✓ - Forum telephonie fixe
4 réponses
En fait je veux remplacer les lettres du mot exemple par des * dans une autre chaine :
J'ai une chaine Exemple et une chaine vide, dans la chaine vide je veux 7 * car dans exemple il y a 7 lettres dans exemple.
J'ai une chaine Exemple et une chaine vide, dans la chaine vide je veux 7 * car dans exemple il y a 7 lettres dans exemple.
Salut,
Désolé pour le temps de réponse.
J'ai refait ton code en entier, ta fonction mettreEnEtoiles était inutile.
Cdt
Désolé pour le temps de réponse.
J'ai refait ton code en entier, ta fonction mettreEnEtoiles était inutile.
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ char *mot="exemple"; char *resultat=(char*)malloc(strlen(mot)*sizeof(char)); memset(resultat,'*',strlen(mot)); printf("%s\n",resultat); return 0; }
Cdt