2012-02-08 56 views
-1

對不起,如果它之前已經問過,但我真的無法找到明確的答案這個問題。 請告訴我,什麼是轉換的最快方法:c - 將char *數組轉換爲int和float的最有效方法是什麼?

char * array to int 
char * array to float 

的char *數組存儲號碼,例如:

"12345" 
"1234,56789" 

如果用於x86和x64系統上的最快的方式是不同的,請告訴他們兩人。

編輯:「最快」,我的意思是「最高效」,而不是「最簡單易用」。

+1

試着看着atoi()和atof()。我只是想知道谷歌如何錯過了一個? – Mithrandir 2012-02-08 18:10:13

+0

我知道一些方法,但我需要最快的方式 - 對於處理大塊數據很有用。 – 2012-02-08 18:11:27

回答

9

開始的atoi()和ATOF(),測量速度,決定它是否是一個問題 - 然後尋找一個解決方案

編輯 - 它幾乎肯定的是,I/O將主宰任何時間花在做轉換。如果轉換時間很重要(在配置文件之後),那麼如果您知道格式即。整型總是4digits,彩車總有5位小數,你也許可以寫一個手調整例程確實比標準庫更好

2

你可以使用

atoi() 

的整數和

atof() 

浮標。

1

對於int,明顯的循環可能是最快的。

對於float,它要複雜得多。如果你不關心結果是否正確,那麼類似的小循環也很好。如果你需要確切的結果,你會想要使用strtodatof或類似的,因爲滾動你自己是非常困難的。

相關問題