Une sorte de sprintf retournant un char
Bonjour à tous,
Je continue de galérer avec les typages et surtout l'ajout d'un char à un autre, l'appondre. Ayant l'habitude d'utiliser des languages de haut niveau avec typage automatique, je pêche.
Pour ceux qui conaissent Python, j'aimerais utiliser une formule de ce style dans C++ :
Code:
mysqlpp::Query query = conn.query("SELECT * FROM %s" % (table) );
C'est à la manière d'un printf ou même sprintf, le problème avec ces deux fonctions c'est qu'elle requière les deux un buffer intermédiaire, je dois donc passer par créer une variable, utiliser sprintf et l'utiliser dans la fonction :
Code:
1 2 3
| char request [255];
sprintf(request, "SELECT * FROM %s", table);
mysqlpp::Query query = conn.query(request); |
Ecrire en trois lignes ce qui peut être fait directement en paramètre d'une fonction est plutôt découragant. Est-ce que vous auriez une solution qui me conviendrait ?
J'ai aussi essayer le truc tout bête qui me paraîssait pourtant juste :
Code:
mysqlpp::Query query = conn.query("SELECT * FROM"+ *table);
Mais je n'obtient aucun résultat de la part de ma base de donnée contrairement à la solution donnée ci-dessus, comme si la chaîne était éronnée.
En résumé, je cherche une fonction qui retournerait une chaîne char (ou un std::String si c'est plus simple?) suivant le formatage que je lui demande des variables, du genre sprintf. Sinon je me tourne vers toutes autres possibilités, je n'ai pas de restriction.
Merci d'avance.