PDA

Visualizza la versione completa : [C] convertire una stringa in double


nicola.cc
10-06-2008, 15:27
ciao,
ho un problema con la funzione atof() in c,

printf("%f", atof(vettore[i]));

è un istruzione simile
dove vettore[i] è una stringa in un vettore di stringhe e mi dice

floating point formats not linked
abnormal program termination

e non so come fare

MItaly
10-06-2008, 16:01
Che compilatore usi?
---EDIT---
Ma, tra parentesi, perché converti una stringa in un float e poi nuovamente in una stringa?

nicola.cc
10-06-2008, 16:15
è solo un esempio non serve a niente comunque uso
Borland turbo c versione 2.01

oregon
10-06-2008, 17:10
Hai inserito l'include

#include <math.h>

?

nicola.cc
10-06-2008, 17:49
ho appena provato ad includere math.h e continua a darmi lo stesso errore

MItaly
10-06-2008, 18:52
Credo che tu debba collegare il tuo programma ad un pezzo della CRT che contiene le routine di supporto per le operazioni in virgola mobile, ma non avendo Turbo C non ti so aiutare.

oregon
10-06-2008, 18:57
Alcuni compilatori "furbi" non linkano il supporto per il floating point se non rilevano espressamente operazioni con tali dati.

Prova a dichiarare all'inizio del tuo programma, una variabile double, ad esempio

double pi = 3.1415;

MItaly
10-06-2008, 19:01
Ma... passare ad un prodotto un pelo più recente? :)

nicola.cc
10-06-2008, 19:34
Grazie ad entrambi,
dichiarare pi non è bastato e ho dovuto fargli fare qualche altro calcolo ma adesso funziona

per il compilatore è si un po vecchio ma ne ho provati altri come Dev-C++ ma mi davi problemi nel debug e ho lasciato perdere,
se ne hai qualcuno da consigliare sono sempre pronto a provare.

ciao

oregon
10-06-2008, 19:44
Visual C++ Express Edition 2008

Loading