MySQL Connector/Cライブラリに対してクエリを実行した場合、私が戻ってきたデータはすべて数値データ型を含むchar *
形式です。MySQL Connector/CクエリからネイティブCデータ形式ではないデータが返されますか?
たとえば、4バイトのデータを返すのではなく、MySQLでINTEGER
の4つのカラムを返すクエリを実行すると、実際にはASCIIコード化された4バイトのASCII文字を返します。1
は実際には数値49
(ASCIIの場合は1
)です。
これは正確であるか、完全なものがありませんか?
atoi
私のコードでint
にバイトを返したか、またはネイティブなCデータ型を直接MySQLクライアントから取得するメカニズムがありますか?
私の本当の疑問は、mysql_store_result
構造が、そのデータをASCII符号化表現に変換して、アプリケーションコードでバイパスすることができるのでしょうか?
mysqlの整数は32ビットです。 4 intの場合は、16バイトのデータを戻す必要があります。 –
あなたが使用しているいくつかのツールは、結果を理解するのに迷っているあなたを導いています。どのくらい正確にあなたは "戻ってくる" – Hogan
私は間違いなくです。多くの '' '1000000'が8バイト文字列(ASCII = 49,48,48,48,48,48,0)として返されます。数字の場合は7バイト、その後はヌルバイトです。 – SimplePanda