将mysql_row转换为整数

时间:2011-09-05 17:30:03

标签: c++ c

有一种简单的方法可以将从查询结果中获取的行转换为C / C ++中的整数...

例如

//iterating over each row of the result
while((row = mysql_fetch_row(result)) != NULL)
{
 printf("%s\n",row[0]);
}

输出

100
101
102

mysql_row是字符串类型,所以我可以轻松地显示..但我的问题是我想将其转换为intger,以便我可以添加结果的所有列值

i.e 100+101+102

我想使用sscanf有帮助,但在这种情况下不知道如何使用它

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

  

“mysql_row属于字符串类型,因此我可以轻松地显示”

嗯,不要那样做。

MYSQL_TYPE_LONG就是你想要的,这使得结果成为一个int。

编辑:根据以下评论。多年来我没有使用过C API,所以我只是查了一下。与Oracle的C API相比,它相当有限。在您的情况下,所有内容都以字符串形式返回,因此您自行转换。

如其他答案中所述,如果您使用的是C ++,则可以使用atoi。如果这不起作用......你还有其他一些问题(可能是错误的专栏)。