【发布时间】:2014-03-20 04:58:06
【问题描述】:
我想从 txt 文件中读取乐谱。分数将进入一个结构。
struct playerScore
{
char name[32];
int score, difficulty;
float time;
};
文本文件如下所示
赛斯 26.255 40 7
作为一行,其中每个项目后跟一个制表符。 (名称\t时间\t分数\t难度\n)
当我开始阅读文本时,我不知道如何告诉程序何时停止。分数文件可以是任意数量的行或分数条目。这是我尝试过的。
hs.open("scores.txt", ios_base::in);
hs.seekg(0, hs.beg);
if (hs.is_open())
{
int currpos = 0;
while (int(hs.tellg()) != int(hs.end));
{
hs>> inScore.name;
hs >> inScore.time;
hs >> inScore.score;
hs >> inScore.difficulty;
hs.ignore(INT_MAX, '\n');
AllScores.push_back(inScore);
currpos = (int)hs.tellg();
}
}
我正在尝试创建一个循环,将一行代码读入数据的临时结构,然后将该结构推入结构向量。然后用输入指针的当前位置更新 currpos 变量。但是,循环只是卡在条件上并冻结。
【问题讨论】:
-
尝试用 while(hs.good()) 替换你的 while(...)