> > is there a function out there that will convert a 8-byte string into a
> > double
[...snip...]
> Do you mean just casting it as a double?
> Although I can't really think how you would write
> the code to cast after dereferencing the pointer
> to the array.
char *s;
double d;
d = *((double *)s);
Be prepared for horrible exceptions here as not all possible
patterns of 64 bits are valid floating point numbers on all
platforms.
Some platforms are pickier than others about how they deal with
shoving illegal values into floating point registers. Some will
let you do it and then raise hell when you try to do a
calculation with it. Others will scream as soon as you try
to load into a register.
I have to ask "why are you doing this?" If you're reading binary
data from a file, fread() is probably more suitable.
Later,
Kenn
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!