IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

passing arg 2 of `strstr' makes integer from pointer without a cast ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Par défaut passing arg 2 of `strstr' makes integer from pointer without a cast ?
    Je ne comprend pas d' ou provient l'erreur!
    mes variables en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int i, nbResultats = 0;
    char nom = "";
    mon bout de code retournant l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    nbResultats = 0;
               //Rech par nom
                printf("Entrer le nom du/des produit(s) recherch%c(s): ", 130);
                fflush(stdin);
                fgets(nom, 30, stdin);
                printf("%s", nom);
     
                //Premiere boucle pour recupérer le nombre de resultat
                for(i = 0; i < nbJeux; i++)
                {
                    if(strstr(liste[i].nom, nom))
                    {
                        nbResultats++;
                    }
                }
                printf("\n%d produit(s) trouv%c(s) \n\n", nbResultats, 130);
     
                //Deuxieme boucle affichant les resultat en question
                for(i = 0; i < nbJeux; i++)
                {
                      if(strstr(liste[i].nom, nom))
                      {
                        textbackground(BLUE);
                        printf("Nom:");
                        textbackground(BLACK);
                        printf(" %s \n", liste[i].nom);
                        textbackground(BLUE);
                        printf("Cat%cgorie:", 130);
                        textbackground(BLACK);
                        afficherCategorie(liste[i].categorie);
                        textbackground(BLUE);
                        printf("Type:");
                        textbackground(BLACK);
                        afficherType(liste[i].type);
                        textbackground(BLUE);
                        printf("Marque:");
                        textbackground(BLACK);
                        printf(" %s \n", liste[i].marque);
                        textbackground(BLUE);
                        printf("Prix:");
                        textbackground(BLACK);
                        printf(" %f E\n", liste[i].prix);
                        textbackground(BLUE);
                        printf("Qt%c en stock:", 130);
                        textbackground(BLACK);
                        printf(" %d \n", liste[i].qteStock);
                        printf("\n\n");
                        system("pause");
                        system("cls");
                      }
                }
    Je retrouve mon warning sur les deux strstr bien sur. Est ce que quelqun a comprit le probleme avec mon char nom???

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    nom est un char au lieu d'être un tableau ou pointeur de char.

    Solution :

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Ici, tu déclares une variable de type char alors que cela doit être :
    _ soit un tableau de char (de 30 éléments, d'après ton code)
    _ soit un pointeur sur char, qui devra recevoir par la suite la valeur retournée par un malloc(30) (car il faudra allouer de la mémoire).

    Je dis 30, vu ce qui est écrit ici :.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/05/2014, 00h29
  2. assignment makes integer from pointer without a cast
    Par MaybeMaybe dans le forum Débuter
    Réponses: 6
    Dernier message: 05/01/2014, 20h50
  3. Réponses: 3
    Dernier message: 19/03/2009, 10h56
  4. Réponses: 25
    Dernier message: 04/10/2006, 00h33
  5. Réponses: 6
    Dernier message: 11/05/2006, 22h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo