我前段时间问过这个问题,但真的很模糊,我也对我的代码进行了一些更改。
我有一个我称之为“stats.txt”的文件,我用它打开:(使用“C”顺便说一句)
fopen("stats.txt", r+)
在我的程序第一次运行期间,我会要求用户填写用于写入文件的变量:
fprintf(fp, "STR: %i(%i)\n", STR, smod);
fprintf(fp, "DEX: %i(%i)\n", DEX, dmod);
ETC...
程序第一次运行后文件如下所示,所有数字对应程序中的一个变量:
Level 1 Gnome Wizard:
STR: 8(-1)
DEX: 14(2)
CON: 14(2)
INT: 13(1)
WIS: 13(1)
CHR: 12(1)
APP: 11(0)
Fort save: 0
Reflex save: 0
Will save: 3
当程序关闭并第二次运行时,我有一个“IF”语句检查并显示“stats.txt”文件中的文本:
if (fgets(buf, 1000, fp) == NULL)
{
printf("Please enter in your base stats (no modifiers):\n");
enter_stats();
printf("Please indicate your characters level:\n");
printf("I am a level ");
level = GetInt();
Race_check();
spec_check();
printf("------Base saving throws (no modifiers)------\n");
saving_throws();
}
else
{
printf("%s",buf);
}
我遇到的问题是程序读取文件,但没有传输任何看起来在这里的变量值:
Level 1 Gnome Wizard:
-------------------------
STR: 0(-5)
DEX: 0(-5)
CON: 0(-5)
INT: 0(-5)
WIS: 0(-5)
CHR: 0(-5)
APP: 0(-5)
-----Saving Throws------
Fortitude: 0
Reflex: 0
Will: 0
任何人都可以就如何阅读变量给我他们的建议吗?
谢谢,麻烦您了