有一种简单的方法可以将从查询结果中获取的行转换为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有帮助,但在这种情况下不知道如何使用它
答案 0 :(得分:2)
使用atoi(row[index])
答案 1 :(得分:0)
嗯,不要那样做。“mysql_row属于字符串类型,因此我可以轻松地显示”
MYSQL_TYPE_LONG
就是你想要的,这使得结果成为一个int。
编辑:根据以下评论。多年来我没有使用过C API,所以我只是查了一下。与Oracle的C API相比,它相当有限。在您的情况下,所有内容都以字符串形式返回,因此您有自行转换。
如其他答案中所述,如果您使用的是C ++,则可以使用atoi
。如果这不起作用......你还有其他一些问题(可能是错误的专栏)。