begin process at 2012 05 29 20:34:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Base de données

 > 

SQL

 > 

probléme avec sprintf() sous linux


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probléme avec sprintf() sous linux

jeudi 10 avril 2008 à 12:34:10 | probléme avec sprintf() sous linux

moooonaaaa

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.
jeudi 10 avril 2008 à 12:43:59 | Re : probléme avec sprintf() sous linux

jfrancois

Bonjour,

 

req est déclaré omment ?

Jean-François

jeudi 10 avril 2008 à 13:28:15 | Re : probléme avec sprintf() sous linux

moooonaaaa

salut,
char req[200];

jeudi 10 avril 2008 à 14:44:48 | Re : probléme avec sprintf() sous linux

jfrancois

Je viens de tester les 3 sprintf() sous Visual C++ et tout fonctionne !

J'ai remplacé (long int)sec par (long)sec
et (int)usec / 1000 par (int)(usec / 1000)
mais même avant ces modifs tout fonctionne.

#include <stdio.h>
#include <Winldap.h>
void main()
{
   LDAP_TIMEVAL current_time = {21,123456}; // s et µs
   char *client = "Client";
   char req[200];
  
   sprintf(req
          ,"select * from connection where sec='%9ld' and usec='%03d'"
          ,(long)current_time.tv_sec,(int)(current_time.tv_usec / 1000));
   printf(req);
   printf("\n");

   sprintf(req
          ,"insert into connection values('%9ld','%03d')"
          ,(long)current_time.tv_sec,(int)(current_time.tv_usec / 1000));
   printf(req);
   printf("\n");

   sprintf(req,"select * from client where adr_IP_client ='%s'",client);
   printf(req);
   printf("\n");
}

Ce qui donne :

select * from connection where sec='       21' and usec='123'
insert into connection values('       21','123')
select * from client where adr_IP_client ='Client'

Est-ce que le remplacement des ' par \' change quelque chose ?
 (... where sec=\'%9ld\' and usec=\'%03d\')

Jean-François

jeudi 10 avril 2008 à 16:11:47 | Re : probléme avec sprintf() sous linux

moooonaaaa

Salut,
je vous remercie  beaucoup.
le remplacement des ' par \' changent plusieurs choses.
Le probléme persiste malgrés le remplacement.
quel est l'origine de ce message d'aprés vous.
jeudi 10 avril 2008 à 16:36:25 | Re : probléme avec sprintf() sous linux

jfrancois

Malheureusement je ne peux pas vous en dire plus arrivé là !
Le code est correct, il faut voir avec quelqu'un maîtrisant la compilation gcc sous Linux, il doit y avoir un problème de paramétrage.

Jean-François

jeudi 10 avril 2008 à 17:29:24 | Re : probléme avec sprintf() sous linux

moooonaaaa


salem,
je comprends pas ces messages.
est ce que vous pouvez m'expliquer les significations de ces messages d'erreur et warning


Cette discussion est classée dans : access, log, left, warning, effect


Répondre à ce message

Sujets en rapport avec ce message

Access en lecture et en écriture d'un port. [ par Philipin_Alain ] Est il encore possible avec C++ sous wintNT d'accéder à un registre quelconque. Je pense que les instructions "inport" et "outport" ne fonctionne pas Lecture et ecriture d'une base de données access [ par thino ] SalutJe voudrai avoir un code pour accéder à ma base de données sur access par la methode d'accès DAO. Exportation de données access depuis borland c++ builder [ par sebastien ] Bonjour, je suis étudiant (débutant en informatique) et dans le cadre de mon cours d'informatique je dois réaliser une petite application Base de donn ouverture de base Access [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset Les grandes tables Access et ODBC [ par Michel Caramez ] Bonjour,Je travail sur un système de récupération de données en C++ via un ODBC sur une table MS Access. j'ai développé une mini application. Mais voi Access [ par bip54fl ] Comment faire une base de donnée sur access 2000 chez moi et lire cette de base de donnée sur access 97 à l'école ? VC++ et access [ par tafiscobar ] voila, je fais un petit programme qui prend des valeurs ds un base de données pour les inscrire ds un fichier , voici ce q j'ai fait pour ouvrir la ba VC++ et access [ par tafiscobar ] voila, je fais un petit programme qui prend des valeurs ds un base de données pour les inscrire ds un fichier , voici ce q j'ai fait pour ouvrir la ba recuperer les valeurs de TEdit dans un tableau de char [ par ferrari ] Voici la partie de mon code je cree des TEdit de manieres dynamiques de la maniere suivante. TEdit **b; //declare en global dans le .h de ma classe b Access Violation [ par julok2 ] Salut,à l'exécution de mon programme, j'ai l'erreur suivante qui s'affiche :Unhandled exception in machin.exe : 0xC0000005 Access ViolationSi vous ave


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,498 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales