2011-09-05 130 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