Bonjour,
je tiens a prevenir que cela fait 2 ans que je n'ai plus fait de C++ et a l'epoque j'avais un niveau débutant !
Donc ma question :
pour un projet personnel j'essaye de faire un mini client mysql en C++ ds lequel on saisira des requetes a executer sur une bdd préalablement définie, hors j'ai beaucoup de mal a faire passer un CHAR saisie a la mano grace a un CIN ds la fonction : (mysql_query(sock,rrequete)).

si je fait un char * rrequete = "select * from user;" la requete passe correctement.
par contre si je fait un cin >> rrequete ; => le programme compile mais plante a la saisie.

Actuellement j'ai ecrit ce code afin de saisir la requete et l'envoyer mais j'obtiens a chaque fois le message d'erreur ci dessous :

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
 
string requete ;                   //Creation d'un string afin de permettre une saisie plus facile
cout << "requete ? " ;
cin >> requete ;
size_t requetesize = requete.size() + 1;   //on regarde la taille de la chaine
char * rrequete = new char[ requetesize ];  //on crée un char a la taille+1 pour caract de fin de chaine
strncpy( rrequete, requete.c_str(), requetesize );   // on copie la string ds le char                         
delete &requete;           // on libere de la mémoire       
cout << requete ;          // on controle ce que l'on a rentré....rien ne s'afffiche ...
 
//execution de la requete
if (mysql_query(sock,rrequete)) cout <<"echec de la requete, motif : \n" << mysql_error(sock) << "\n";
    else
    {
    cout << "requete faite !";
    }
message renvoyé par le programme :

Le serveur est en ligne
Initialisation de la connexion Ok !
connection ok, sur la bdd : test
requete ? select * from user;
echec de la requete, motif :
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near '' at line 1
Press any key to continue . . .

la mysql_query(sock,rrequete) ne prendrait elle pas par hasard unqiuement la premiere case de ma chaine de caractere? rrequete[0] ?
j'ai l'impression que ma variable rrequette renvoie '' et d'ailleurs on voit bien ds le cout rrequete rien ne s'affiche a l'ecran