Michael Gallagher wrote:
>
> i've been trying to make the shop's bank account save to a seperate file.
> (i know there's probably an easier way to do it but this suits me fine)
>
> and this is the code that reads it:
>
> if (!(bank = fopen(fbank, "r"))) {
> return;
> }
> fscanf(bank, " %d ", temp);
> SHOP_BANK(shop_nr) = temp;
> fclose(bank);
>
> and it saves fine, just when it reads at bootup the mud freezes.
> I can't figure out whats wrong.
fscanf is (imho) a bit picky in that it wants to see EXACTLY what you
specify. For a bit more flexibility try using fgets in combination with
atoi as follows...
fgets(buf, MAX_STRING_LENGTH, bank);
SHOP_BANK(shop_nr) = atoi(buf);
The nice thing about this is atoi will skip any leading whitespace and
doesn't care about trailing whitespace (including the /n that ends up
being the last char on the line), this makes it very forgiving in terms
of exact formatting of the input.
Regards, Peter
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT