Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122

    [C] problema con strtod()

    ciao a tutti..
    ho il seguente codice:
    -------------------------------
    BOOL GetNumber(struct TDF *IlF,const char *str, double *value)
    {
    char Buffer[256], *endptr;
    int i = 0;

    while (*str == ' ') str++;
    for (; i < 255 && (isdigit(*str) || *str == '.' || *str == '+' || *str == '-' || *str == 'e' || *str == 'E'); i++, str++)
    Buffer[i] = *str;
    Buffer[i] = '\0';
    value = strtod(Buffer, &endptr);
    return (endptr == Buffer + i && i);
    }
    -------------------------------
    ma in fase di compilazione ho il seguente errore:
    "Illegal use of floting point"
    A cosa è dovuto??
    ciao e grazie!!
    Mi raccomando!...in generale...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Credo che l'errore sia perchè stai assegnando un valore floating point ad un puntatore:
    codice:
    BOOL GetNumber(struct TDF *IlF,const char *str, double *value) 
    { 
    char Buffer[256], *endptr; 
    int i = 0; 
    
    while (*str == ' ') str++; 
    for (; i < 255 && (isdigit(*str) || *str == '.' || *str == '+' || *str == '-' || *str == 'e' || *str == 'E'); i++, str++) 
    Buffer[i] = *str; 
    Buffer[i] = '\0'; 
    *value = strtod(Buffer, &endptr); 
    return (endptr == Buffer + i && i); 
    }
    Con la modifica che ho apportato dovrebbe andare.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.