编辑代码: 我现在能够在文件中写入时钟时间,但问题是,它不完全是时钟时间。它会写出奇怪的数字,例如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)
{
}
答案 0 :(得分:1)
您的highscore
结构中包含string clock
。 string
类型的对象不适合直接从内存写入文件,因为它们可能包含指向内存其他部分的指针。
以下是两个解决方案:将clock
更改为与其他结构成员一样的char数组,或者不使用高分的二进制写入,将文件写为文本(更多复杂,但导致人类可读的文件。)
答案 1 :(得分:0)
创建文件后是否设置了文件权限?似乎权限已被设置为无读,无写,无执行。