C++ 高分列表调试错误

标签 c++ arrays visual-studio-2010 vector data-structures

编辑代码: 我现在可以在文件中写入时钟时间,但问题是,它不完全是时钟时间。它会写出奇怪的数字,例如 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 clockstring 类型的对象不适合直接从内存写入文件,因为它们可能包含指向内存其他部分的指针。

这里有两个解决方案:或者像其他结构成员一样将 clock 更改为 char 数组,或者不使用二进制写入高分,而是将文件写入文本(这是更复杂,但会产生一个人类可读的文件)。

关于C++ 高分列表调试错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30135037/

相关文章:

arrays - 如何在 C 中将 float 组写入文件?

java - 每次迭代后删除二维数组的列和行

php - vb.net通过php向mysql数据库添加文本

c++ - 用于 C++ 的 Visual Studio 2010 注释插件

c# - 如何初始化一个使用命名参数的 `HashTable` 对象?

c++ - 移动相机

java - 填充数组时出现 NullPointerException

c++ - 在 Swift 中包含 C++ 头文件

c++ - 如何在 C++ 中正确地将 char 转换为 int?

c++ - 将 shared_ptr 的集合转换为 weak_ptr 的集合