如何將整數轉換為相應的字串

2021-04-29 22:04:04 字數 773 閱讀 8291

手寫的,沒有經過優化。

將整數轉換為相應的字串。注意int64的最大值,以免溢位。

char* itoa_my(int64 value, char *buffer, size_t size)   

assert(buffer != null);   

assert(size > 1);   

size_t  len = 0;

int64  tempvalue = value;

if (value < 0)   

tempvalue = -value;

// get the length of the int

while (tempvalue > 0)

len++;

tempvalue /= 10;

if   ( len > size - 1  )   

free(buffer);

buffer = (char *)malloc(sizeof(char)*(len) + 1);

if (value < 0)

len++;

buffer[0] = '-';

tempvalue = -value;

buffer[len]   =   '/0';   

do   

buffer[--len] = '0' + tempvalue % 10;   

tempvalue /= 10;

}while(tempvalue > 0);   

return   buffer;   

將字串轉換為整數

該問題的知識點 1.對於c 風格的字串來說,結尾標誌位 0 2.將純數字字串轉換為整數,需要依次的拿前乙個字元生成的數字乘以 10 再加上當前字元和 0 的差 3.對於特殊情況的處理 空字元陣列 字串中間有空格,字串前面會有很多空格 字串中間存在不合法字元 字串第乙個非空字元為 或者 對於最大正整數...

將字串轉換為整數

這是一道經典的面試題,在收到這樣一道題時我們不要急於動手,先思考一下這道題的解決思路 1.在函式呼叫時我們需要用指標來接收陣列的位址,那麼指標是否需要判空?2.如果獲取的字串起始位出現 號該如何處理?3.如果獲取到的並非數字字串該如何處理?4.如果獲取的字串正確,該如何返回成整數形式?5.如過獲取的...

將字串轉換為整數

題目描述 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入描述 輸入乙個字串,包括數字字母符號,可以為空 輸出描述 如果是合法的數值表達則返回該數字,否則返回0 思路 考慮將字串轉換為字元陣列,在判斷時需要考慮以下兩點 最後要對轉換後的數字...