编辑代码: 我现在可以在文件中写入时钟时间,但问题是,它不完全是时钟时间。它会写出奇怪的数字,例如 00F3D.. 等等。我不知道它是否到期,因为时钟的时间在字符串格式时包含一个冒号,例如:0:12
// Used for Highscores
struct highscore
{
char name[10];
int zombiesKilled;
char Date[10];
char *clock[10];
};
void highscoreBoard(int option, int zombKilled)
{
int quanity = 0;
int playerScore = 0; // the in Results for Highscores
FILE *streaming;
highscore data[10];
char *newClock = new char[clockData.clockTime.length() + 1];
strcpy(newClock,clockData.clockTime.c_str());
switch (option)
{
}
最佳答案
您的highscore
结构中有string clock
。 string
类型的对象不适合直接从内存写入文件,因为它们可能包含指向内存其他部分的指针。
这里有两个解决方案:或者像其他结构成员一样将 clock
更改为 char 数组,或者不使用二进制写入高分,而是将文件写入文本(这是更复杂,但会产生一个人类可读的文件)。
关于C++ 高分列表调试错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30135037/