Desgraciadamente no pude ahcer ftoa()... pero ya veremos... en un futuro
Tendre que hacer una seccion de C en mi Blog ¬¬!...
Código: Seleccionar todo
#include<iostream>
using namespace std;
int atoi(char* string);
double atof(char* string);
unsigned int strlen(char* string);
void itoa( char* string, int n);
void reverse(char* string);
int main()
{
char* c = (char*)" -154.456";
double val;
cout << (val=atof(c)) << endl;
itoa(c,val);
cout << c << endl;
cin.get();
return 1;
}
unsigned int strlen(char* string)
{ // By BlackZeroX ( http://Infrangelux.sytes.net/ )
unsigned int i=0;
while (*(string++) != '\0') i++;
return i;
}
void reverse(char* string)
{ // By BlackZeroX ( http://Infrangelux.sytes.net/ )
char c;
unsigned long int i;
unsigned long int j;
for ( i=0, j=strlen(string)-1; i <j; i++,j-- )
{
c=string[i];
string[i]=string[j];
string[j]=c;
}
}
int atoi(char* string)
{ // By BlackZeroX ( http://Infrangelux.sytes.net/ )
return (int)atof(string);
}
double atof(char* string)
{ // By BlackZeroX ( http://Infrangelux.sytes.net/ )
double n, p;
int i, s;
for ( i=0; string[i]==' ' || string[i]=='\n' || string[i]=='\t'; i++ );
if ( string[i]=='+' || string[i]=='-' )
s=(string[i++]=='+') ? 1:-1;
else
s=1;
for ( n=0 ; string[i]>='0' && string[i]<='9'; i++ )
n = 10*n+string[i]-'0';
if (string[i]=='.')
i++;
for ( p=1 ; string[i]>='0' && string[i]<='9'; i++ )
{
n = 10*n+string[i]-'0';
p *= 10;
}
return s * n / p;
}
void itoa( char* string, int n)
{ // By BlackZeroX ( http://Infrangelux.sytes.net/ )
int i,s;
if ((s=n)<0)
n = -n;
i=0;
do
{
string[i++]= n % 10 + '0';
} while ((n /= 10)>0);
if (s<0)
string[i++]='-';
string[i]='\0';
reverse(string);
}