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 :

probléme avec sprintf() sous linux


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut probléme avec sprintf() sous linux
    Salut,
    j'ai un probléme dans mon code en gcc sous linux.
    lors de la compilation j'obtient les messages suivants:
    "access_log.c:1033: warning: left-hand operand of comma expression has no effect
    access_log.c:1033: warning: left-hand operand of comma expression has no effect
    access_log.c:1033: warning: left-hand operand of comma expression has no effect
    access_log.c:1033: warning: statement with no effect
    access_log.c:1039: warning: left-hand operand of comma expression has no effect
    access_log.c:1039: warning: left-hand operand of comma expression has no effect
    access_log.c:1039: warning: left-hand operand of comma expression has no effect
    access_log.c:1039: warning: statement with no effect
    access_log.c:1044: warning: left-hand operand of comma expression has no effect
    access_log.c:1044: warning: left-hand operand of comma expression has no effect
    access_log.c:1044: error: wrong type argument to unary plus"
    La partie du code de la ligne 1033 jusq'au 1044 est la suivante:
    " sprintf(req,"select * from connection where sec='%9ld' and usec='%03d'",(long int) current_time.tv_sec, (int) current_time.tv_usec / 1000);
    mysql_query(conn,req);
    result = mysql_store_result(conn);
    num = mysql_num_rows(result);
    if (num== 0)
    {
    sprintf(req,"insert into connection values('%9ld','%03d')",(long int) current_time.tv_sec,(int) current_time.tv_usec / 1000);
    mysql_query(conn,req);mysql_commit(conn);}
    // on libère la mémoire prise pour les résultats

    mysql_free_result(result);
    sprintf(req,"select * from client where adr_IP_client ='%s'",client);"
    quelqu'un peut maider SVP.
    merci d'avace.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Après indentation et utilisation de la balise code
    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
    sprintf(req,"select * from connection where sec='%9ld' and usec='%03d'",
       (long int) current_time.tv_sec, (int) current_time.tv_usec / 1000);
    mysql_query(conn,req); 
    result = mysql_store_result(conn);
    num = mysql_num_rows(result); 
    if (num== 0)
    { 
       sprintf(req,"insert into connection values('%9ld','%03d')",
          (long int)current_time.tv_sec,(int) current_time.tv_usec / 1000);
       mysql_query(conn,req);
       mysql_commit(conn);
    }
     
    // on libère la mémoire prise pour les résultats 
    mysql_free_result(result); 
    sprintf(req,"select * from client where adr_IP_client ='%s'",client);
    C'est quoi le type de la variable 'req' ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    En attente de confirmation mail
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 348
    Points
    348
    Par défaut
    Citation Envoyé par ram_0000 Voir le message
    C'est quoi le type de la variable 'req' ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int sprintf( char *buffer,  const char *format [, argument] ...  );

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut req est de type chaine de caractére
    Salut,
    char req[200];
    je comprends pas ce message d'erreur il me parvient.
    de plus dans la premiére utlisation de sprintf juste des warning mais dans 3eme utilisation il ya un message d'erreur.
    je comprends rien.
    SVP c'est urgent.J'attends votre aide.

  5. #5
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Salut,

    La dernière erreur ça veut dire que ta variable client n'est pas un char*

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut utilisation de snprintf au lieu de sprintf
    Salem,
    j'ai pas réussi àrésoudre le probléme comme ça donc je me retrouve obliger d'utiliser snprintf au lieu de sprintf et ça marche bien.
    je remercie beaucoup tous les personnes qui ont essayé à me répondre.

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

Discussions similaires

  1. problème avec htaccess sous linux (ubuntu)
    Par lamou23 dans le forum Apache
    Réponses: 1
    Dernier message: 10/06/2010, 15h45
  2. [Lazarus] Problème avec Tpagecontrol sous Linux
    Par Stbiotyk dans le forum Lazarus
    Réponses: 0
    Dernier message: 29/05/2010, 08h56
  3. problème avec internet sous linux
    Par alienware1994 dans le forum Linux
    Réponses: 0
    Dernier message: 17/11/2009, 00h15
  4. Problème avec .htaccess sous Linux
    Par Mo_Poly dans le forum Apache
    Réponses: 5
    Dernier message: 03/02/2008, 14h38
  5. Problème avec glutFullScreen() sous linux...
    Par MaxPayne dans le forum OpenGL
    Réponses: 1
    Dernier message: 29/11/2004, 11h30

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