Ir ao conteúdo
  • Cadastre-se

Conversão de tipos em C


De Los Santos

Posts recomendados

Desenvolvi uma função própria para converter inteiro em string com restrição de caracteres!!!

Espero que te auxilie

Segue a função abaixo:

int formanumero ( void )

{

int i = 0, j, b[100];

double x = .0;

char a;

do

{

do

{

a = getch();

if ( strchr("0123456789", a) && (int)a != 13 )

b = (int)a - 48;

}

while ( ! strchr ("0123456789", a) && (int)a != 13 );

++i;

printf("%c", a);

}

while ( (int) a != 13 );

j = i - 2;

i = 0;

while ( j >= 0 )

{

x += b * ###### ( 10, j );

++i;

--j;

}

system("cls");//no dev

//clrscr();

return x;

}

Link para o comentário
Compartilhar em outros sites

Diretamentamente do fonte do Solaris... e se você olhar melhor o código do Solaris, você irá descobrir muitas funções interessantes...

http://cvs.opensolaris.org/source/xref/usr...i/sys/itoa.c#33



    #include<iostream.h>
   
char *
     itoa(long n, int base)
     {
      register char *p;
      register int minus;
      static char buf[36];
     
      p = &buf[36];
      *--p = '\0';
      if (n < 0) {
       minus = 1;
       n = -n;
      }
      else
       minus = 0;
      if (n == 0)
       *--p = '0';
      else
       while (n > 0) {
        *--p = "0123456789abcdef"[n % base];
        n /= base;
       }
      if (minus)
       *--p = '-';
      return p;
     }
int main() {

char *Teste = itoa( 12345, 10 ); //Número, base
cout<<Teste<<endl;

return 0;
     }

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Bom. Como tem atoi() de string -> inteiros, tb tem uma funcao para transformar inteiros em um string (sem você tem q programar um monte... :muro: ).

Use o "sprintf()"

ex:

char cNumber[11]; // cabe um inteiro com 10 digitos

int iInteger = 1125;

sprintf(cNumber, "%d", iInteger);

então

cNumber vai ser "1125\0"

sprintf() tem varios formatos para fazer o string como você quiser.

:palmas:

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...