C語言中實現(xiàn)itoa函數(shù)的實例
更新時間:2017年10月31日 10:51:38 作者:默伊清風
這篇文章主要介紹了C語言中實現(xiàn)itoa函數(shù)的實例的相關資料,希望通過本文能幫助到大家,讓大家實現(xiàn)這樣的功能,需要的朋友可以參考下
C語言中實現(xiàn)itoa函數(shù)的實例
一、原型:
char *itoa( int value, char *string,int radix);
二、函數(shù)說明:
- value:欲轉換的數(shù)據(jù)。
- string:目標字符串的地址。
- radix:轉換后的進制數(shù),可以是10進制、16進制等。
三、函數(shù)簡單實現(xiàn):
#include <iostream>
#include <string>
using namespace std;
char* My_itoa(int value,char str[],int radix)
{
char temp[33];
char *tp = temp;
int i;
unsigned v;
int sign;
char *sp;
if(radix > 36 || radix < 1)
return 0;
sign = (radix == 10 && value < 0); //十進制負數(shù)
if(sign)
v = -value;
else
v = (unsigned)value;
while(v || tp == temp) //轉化操作
{
i = v % radix;
v = v / radix;
if(i < 10)
*tp++ = i + '0';
else
*tp++ = i + 'a' - 10;
}
if(str == 0)
str = (char*)malloc((tp - temp) + sign + 1);
sp = str;
if(sign) //是負數(shù)的話把負號先加入數(shù)組
*sp++ = '-';
while(tp > temp)
*sp++ = *--tp;
*sp = 0;
return str;
}
int main()
{
long int num;
int radix; //輸入的幾進制表示
char str[256];
cout<<"請輸入整數(shù)和進制數(shù):";
cin>>num>>radix;
My_itoa(num,str,radix);
cout<<"整數(shù)轉換為字符串后:";
cout<<str<<endl;
return 0;
}
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:
相關文章
C++根據(jù)傳入的函數(shù)指針來解析需要的參數(shù)(推薦)
C++可以根據(jù)傳入的函數(shù)指針,獲取自己需要的參數(shù)類型,然后根據(jù)參數(shù)源中獲取需要的參數(shù),具體實現(xiàn)方式大家參考下本文2018-05-05
C++ Qt開發(fā)之LineEdit單行輸入組件的用法詳解
Qt 是一個跨平臺C++圖形界面開發(fā)庫,利用Qt可以快速開發(fā)跨平臺窗體應用程序,在Qt中我們可以通過拖拽的方式將不同組件放到指定的位置,實現(xiàn)圖形化開發(fā)極大的方便了開發(fā)效率,本章將重點介紹LineEdit單行輸入框組件的常用方法及靈活運用2023-12-12
c++ 形狀類Shape(派生出圓類Circle和矩形類Rectangle)
通過C++方式,建立一個形狀類Shape作為基類,派生出圓類Circle和矩形類Rectangle 求出面積并獲取相關信息2020-11-11

