1. 程式人生 > >不使用庫函式將整數轉換為字串

不使用庫函式將整數轉換為字串

把整數的各位數字加‘0’轉換成char型別,並存到字元陣列中,程式如下,可在Visual studi0 2010 下執行

#include<iostream>
using namespace std;

void int2str(int n, char * str)
{
   char buf[10] = "";
   int i = 0;
   int len  = 0;
   int temp = n < 0 ? -n : n;

   if(str == NULL)
   {
      return;
   }
   while(temp)
   {
   buf[i++] =(temp % 10) + '0'; // 把temp中的每一位數字加上‘0’變成字元逆序存在buf中
   temp = temp / 10;

   }
    len = n < 0 ? ++i : i;

	str[i] = 0; //末尾是結束符‘\0’;
	while(1)
	{
	  i--;
	  if(buf[len -i - 1] == 0)
	  {
	     break;
	  }
	  str[i] = buf[len - i -1];
	}
	if(i == 0)
	{
	  str[i] = '-';
	}

}
int main()
{
	int nNum;
	char p[10];
	cout <<"please input an integer:";
	cin >> nNum;
	cout << "output: ";
	int2str(nNum,p);
	cout << p <<endl;
   return 0;
}