我需要一點關於將char轉換爲單個整數值的指導。我不應該使用任何轉換它們的庫函數。我理解我如何使用char - '0'= int將單個字符轉換爲數組中的int,我的問題是如果有一種方法可以將整數數組作爲一個整數。我正在使用iostream,字符串和cctype。字符數組到單個整數
謝謝
我需要一點關於將char轉換爲單個整數值的指導。我不應該使用任何轉換它們的庫函數。我理解我如何使用char - '0'= int將單個字符轉換爲數組中的int,我的問題是如果有一種方法可以將整數數組作爲一個整數。我正在使用iostream,字符串和cctype。字符數組到單個整數
謝謝
看看這個代碼:
#include <string.h>
#include <iostream>
int main(void) {
char str[20] = {'1', '2', '3', '4', '5', '6', '\0'}; // char string;
int i, len;
long long number = 0; // number which stores the value
len = strlen(str); // calculate the length of string
i = 0;
for(i=0; i<len; i++) {
number = 10*number + (str[i] - '0');
}
std::cout << number << std::endl; // number
return 0;
}
注:它可以處理所有的+香港專業教育學院值範圍從0 到9,223,372,036,854,775,807。我們甚至可以將它擴展爲-ive值,我們只需檢查字符串的第一個字符是否爲減號( - )。
如果您要提出有關最大值的聲明,請改爲使用「int64_t」或「uint64_t」。 –
謝謝,這是有道理的,我試圖找出一種方式來使用10以某種方式。我覺得自己是一個白癡,一開始就沒有看到這個。 – Motorscooter
是的,我正在運行一個if語句,它說如果第一個元素是負數,它會減去它添加的其他元素。 – Motorscooter
這可能會有所幫助:http://stackoverflow.com/questions/23001591/treating-a-character-array-as-an-integer-learn-c-the-hard-way-extra-credit。 –
你*知道簡單的算術,以及十進制系統是如何工作的(10的倍數和所有這些)? –
因此,你有{'1','6','2'}或像{1,6,2}這樣的整數數組的字符數組? – aisa