gpt4 book ai didi

c - 如何检查文本文件中的文本然后存储变量?

转载 作者:行者123 更新时间:2023-11-30 20:41:23 24 4
gpt4 key购买 nike

我是新来的,所以如果我解释得不够,我提前道歉,所以这里是:

给你一张图片,我有一个 fopen 命令打开和/或创建一个文本文件,如果我是正确的,则带有读取/写入/覆盖的参数

fp = fopen("stats.txt", "w+");

我已将文件写入:

void display_stats()
{
//some math needed for calculations
smod = (STR - 10)/2;
dmod = (DEX - 10)/2;
cmod = (CON - 10)/2;
imod = (INT - 10)/2;
wmod = (WIS - 10)/2;
hmod = (CHR - 10)/2;
amod = (APP - 10)/2;

//print to console
printf("STR: %i(%i)\n", STR, smod);
printf("DEX: %i(%i)\n", DEX, dmod);
printf("CON: %i(%i)\n", CON, cmod);
printf("INT: %i(%i)\n", INT, imod);
printf("WIS: %i(%i)\n", WIS, wmod);
printf("CHR: %i(%i)\n", CHR, hmod);
printf("APP: %i(%i)\n", APP, amod);
printf("-----Saving Throws------\n");
printf("Fortitude: %i\n", fort);
printf("Reflex: %i\n", rflx);
printf("Will: %i\n", will);

// write to file
fprintf(fp, "Level %i %s %s:\n",level,race_r,spec_c);
fprintf(fp, "STR: %i(%i)\n", STR, smod);
fprintf(fp, "DEX: %i(%i)\n", DEX, dmod);
fprintf(fp, "CON: %i(%i)\n", CON, cmod);
fprintf(fp, "INT: %i(%i)\n", INT, imod);
fprintf(fp, "WIS: %i(%i)\n", WIS, wmod);
fprintf(fp, "CHR: %i(%i)\n", CHR, hmod);
fprintf(fp, "APP: %i(%i)\n", APP, amod);
fprintf(fp, "Fort save: %i\n", fort);
fprintf(fp, "Reflex save: %i\n", rflx);
fprintf(fp, "Will save: %i\n", will);

}

将其输出到文件“stats.txt”中(取决于用户输入的内容)

Level 2 Gnome Sorcerer:
STR: 8(-1) //STR=8 smod=-1
DEX: 14(2) //DEX=14 dmod=2
CON: 14(2) //etc...
INT: 13(1)
WIS: 13(1)
CHR: 12(1)
APP: 11(0)
Fort save: 0
Reflex save: 0
Will save: 3

现在,对于程序的第二次运行,我希望它检查文件中的文本,如果为真,则输出该文本并存储所有变量以供以后使用,我目前有:

if (fgets(buf, 1000, fp) == NULL) //char buf[1000]/FILE fp if "stats.txt" has no text
{
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 //if "stats.txt" has text
{
printf("%s",buf);
}
break; //ending of a case statement

请并感谢您的帮助,这令人沮丧。

最佳答案

由于您没有写任何问题,我猜测它类似于“它只读取一行”。

这是因为 fgets 函数只会读取直到获取 n-1 个字符或到达换行符

更多信息here .

关于c - 如何检查文本文件中的文本然后存储变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15021168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com