+ Responder ao Tópico



  1. #1

    Padrão Inverso do atoi(); em C

    alguem conhece uma funcao q converta int em char???

    tipo:
    Código :
    char *str;
    int a;
     
    str=(char *)malloc(3);
    a=100;
     
    str=itoa(a);

    eu sei q isso num funfa....foi soh pra explicar....sei q da pra usar o sprintf(); dai ficaria assim:
    Código :
    char *str;
    int a;
     
    str=(char *)malloc(3);
    a=100;
     
    sprintf(str,"%d",a);

    assim ele ateh funciona....mas num sei....meu sexto-sintido nao gosta do sprintf.....alguem tem alguma sugestao????

  2. #2

    Padrão Inverso do atoi(); em C

    fala ai!

    relax, nao esquenta a piruca e use o s[n]printf(). TODOS lugares q vi faziam isso (sem falar q com sprintf() vc pode mudar o numero de base (%h, %o, etc)).

    Se continuar com a pulga tras da orelha, da uma olhada no q esse codigo pode te ajudar:
    Código :
    #include <stdio.h>
    int main(){
    	int a=12345;
    	int resto = 0;
    	printf("\n");
    	for( ; a>0 ; ){
    		resto = a % 10;
    		a = (int) a / 10;
    		printf("resto = [%d], a = [%d]\n", resto, a);
    	}
    	return 1;
    }
    Basta colocar cada 'resto' em uma matriz de char's (de tras pra frente!), transformando 'resto' em caracter (somando '0' caracter).

    Nao parei pra pensar se o clausa do for( ; ; ) esta 100% correta (mas acho q tah). Escrevi de 'cabeca quente' (nao to bravo nao! tipo... to respondendo isso sem meu gerente-filha-da-#uta ver ).

    Se alguem souber de outra saida, pelo mor de Deus avisa, pq isso eh uma busca pessoal minha tb!!!

    falow

  3. #3

    Padrão Inverso do atoi(); em C

    itoa()...


    Abraços!

  4. #4

    Padrão Inverso do atoi(); em C

    #man itoa
    No manual entry for itoa

    /usr/include # grep -r itoa *
    /usr/include #

    vc instalou alguma biblioteca a mais???
    O unico lugar na minha vida q vi itoa() foi no Borland TurboC stdlib.h!! (q Deus o tenha!)

    itoa() nao eh padrao ANSI, POSIX ou seja la o q for...

  5. #5

    Padrão Inverso do atoi(); em C

    Nossa cara.....procurando no garimpar.com eu achei um troco assim tbm....mas o bixo me pedia trez argumentos:

    char *itoa(int num,char *num,int regex);

    eu num intendi q porra eh essa de regex

  6. #6

    Padrão Inverso do atoi(); em C

    itoa(3C) existe em C++ ... (e nunca usei, entre ela e o sprintf(), sou mais o sprintf().. eh mais velho q eu!!!)
    por favor, me passa essa a url pra eu ver....
    tem certeza q era pra sistemas unix???

    achei milhares de itoa() na inet, mas nenhum definido como PADRAO da lib C (ANSI (ou, muito menos POSIX (especifico pra sistemas unix-like))): eram implementacoes proprias e/ou pra sistemas Windows (suportada pelo compilador).

    O pessoal faz muitos documentos de funcoes do mesmo estilo de man's, mas nao sao oficiais (e normalmente nem sao pra unix!!! #oda... atrapalha mais do q ajuda).

    (normalmente o 3. parametro desse tipo de funcao eh o tipo de conversao de base. Normalmente eh 10... sei la... 'regex' eh estranho, ainda mais sendo do tipo int!!)

  7. #7

    Padrão Inverso do atoi(); em C

    eu jah usei o itoa mas sem o terceiro parametro em LINUX mesmo, agora num me pergunte como, jah faz mto tempo hhhehhehheeh vou ver se acho o fonte aki e passo pra galera

  8. #8
    Requiem of insanit
    Visitante

    Padrão Re: Inverso do atoi(); em C

    nesse site fala a respeito!!!

    http://irc.essex.ac.uk/www.iota-six....ntf_sscanf.asp

    tem a itoa() como já foi falado, ela funciona assim:

    itoa(int num, char str&#91;], int base)

    num é o numero a ser convertido em string, str é a string de saída e base é a base numérica
    se for binario é dois, decimal é 10 e bla bla bla!!

    fui!!!

  9. #9

    Padrão Re: Inverso do atoi(); em C

    Oi Requiem of insanit, agradeço pela contribuição, mas eu ja resolvi isso com
    Código :
    char *ptr;
    ptr = (char *) malloc(N); // N eh o tamanho da string
    sprintf(ptr,"%d",666);

    Desculpe eu nao ter informado que já tinha solucionado,
    Obrigado

  10. #10
    Requiem of insanit
    Visitante

    Padrão Re: Inverso do atoi(); em C

    td bem!!! agora queria sber como funciona esse sprintf, eu ja ouvi fala dele mas nunca usei
    o que ele faz??? e como usa-lo??


    :?

  11. #11

  12. #12
    Requiem of insanit
    Visitante

    Padrão Re: Inverso do atoi(); em C

    ah sim!!! entendi!!
    seria um "stringprintf" essa funcao!!
    ok!! valeu!! :lol: