Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C] Convertire float in string

    Come posso fare? Esiste una funzione?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    569
    Una possibile soluzione:

    float a=10.5;
    char str[10];

    sprintf(str,"%f",a);

  3. #3

  4. #4
    Cosa succede in questo caso?

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
      float a=2004127878.52748;
      char str[10];
      sprintf(str,"%f",a);
      printf("%s\n",str);
      return 0;
    }

  5. #5
    Originariamente inviato da pallinopinco
    Cosa succede in questo caso?

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
      float a=2004127878.52748;
      char str[10];
      sprintf(str,"%f",a);
      printf("%s\n",str);
      return 0;
    }
    Overflow
    Basta aumentare str oppure scriversi una propria funzione.
    http://www.koders.com/cpp/fidACCA044...1A.aspx?s=ftoa

  6. #6
    Si può anche usare snprintf, un'alternativa "sicura" (standard ANSI C99) a sprintf.

    A parte le possibili soluzioni è importante rendersi conto che in C i buffer overflow sono sempre in agguato!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.