2011-09-05 129 views
0

有一种简单的方式从查询的结果而获得的行转换成在C/C++的整数...一个MYSQL_ROW转换为整数

例如

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

输出

 
100 
101 
102 

MYSQL_ROW是字符串类型,所以我可以easyily display..but我的问题是,我想将其转换成一个intger,这样我可以增加结果的所有列值

i.e 100+101+102

我想用sscanf的帮助,但不KNW如何在这种情况下使用它

回答

0

“MYSQL_ROW是String类型的,所以我可以容易显示“

呃,不要那样做。

MYSQL_TYPE_LONG是你想要的,这使得结果为int。

编辑:基于下面的评论。多年来我没有使用C API,所以我只是查了一下。与Oracle的C API相比,它相当有限。一切都以你的情况返回字符串,所以你自己转换它。

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

+0

我的结果包括字符串以及数字(存储为字符串)在每一行,反正数字部分是我想要的我使用MYSQL_TYPE_LONG来获得我的结果吗?,请你举个例子,我找不到任何东西 – kamesh