Mike Stilson wrote: > > It does have strtoull defined in there though, and it does link, just > requires me to fill in the ptr & base for it to work right. > in other words, can't just do: > unsigned long long int var; var=strtoull(from); That's because that's not how strtoull() works. > have to do > unsigned long long int var; var=strtoull(from, NULL, 10); That's how strtoull() is supposed to work. Note that shoving a char * in for that NULL comes in handy at times for parsing, might wanna try it when you have more than one value on a line, you can do something like this... unsigned long long l, m, n; char *ptr = buf; l = strtoull(ptr, &ptr, 10); /* maybe this number is hex? */ m = strtoull(ptr, &ptr, 16); /* Maybe the last number is octal? */ n = strtoull(ptr, NULL, 8); The hex and octal options can come in handy because it's easier to directly read bits off an ascii pfile with those. You could even use 2 for the base to represent binary and store the bits in binary format (being practically the easiest of all to recognize when reading as text). Note that a base of 0 is used for a sort of auto-detect as follows: If base == 0, then a leading 0x or 0X indicates a hexadecimal (base 16) integer, a leading 0 indicates an octal (base 8) integer, and any other valid pattern indicates a decimal (base 10) integer. Regards, Peter -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/05/01 PST