[C] Help!! Renvoi de pointeur.

Résolu
Bonjour à tous,

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
Configuration: Mac OS X Tiger
XCode 2.0

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut,

    Que veux-tu faire avec ton code ? Afficher des * à la place d'une chaine ?

    Cdt
    1. 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.
      1. Contributeur
        Salut,

        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
        1. T'inquiète pas pour le temps de reponse... Merci beaucoup!! En fait je viens juste d'apprendre l'allocation dynamique aujourd'hui...