У меня есть запрос к MySQL, который возвращает результат с одним столбцом целых чисел. Есть ли способ заставить MySQL C API передать это как целые числа, а не как текст ASCII? И вообще, есть ли способ заставить MySQL делать /любые/ вещи API не как ASCII текст. Я думаю, что это сэкономило бы немного времени при выполнении sprintf/sscanf или чего-либо еще, а также пропускную способность.
Честно говоря, вам, скорее всего, не повезло. Глядя на MySQL C API (http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-row.html, http://dev.mysql.com/doc/refman/5.0/en/c-api-datatypes.html, посмотрите на MYSQL_ROW), кажется, что там нет механизма для возврата данных в их фактическом типе... радости использования структур, я полагаю.
Вы всегда можете реализовать обертку, которая проверяет атрибут типа MYSQL_ROW' (http://dev.mysql.com/doc/refman/5.0/en/c-api-datatypes.html) и возвращает объединение C, но это, вероятно, плохой совет; не делайте этого.