0x50E2DF58(msvcp120d.dll)的未处理异常

用户名

我正在尝试从二进制文件读取到结构中。程序退出时抛出该错误。我断点了它,执行返回0后出现错误。

当我运行程序时,它实际上会显示结果。直到system("pause")

这是实际的错误:结构reader.exe中0x50E2DF58(msvcp120d.dll)的未处理异常:0xC0000005:访问冲突读取位置0x007AB1EC。

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

struct user{
    string name;
};

int main(){
    fstream file("file.dat", ios::in | ios::binary);
    user users[5];

    for (size_t i = 0; !file.eof(); i++)
    {
        file.read(reinterpret_cast<char *>(&users[i]), sizeof(user));
    }

    file.close();
    size_t size = (sizeof(users) / sizeof(user));

    for (size_t i = 0; i < size; i++)
    {
        cout << users[i].name << endl;
    }

    system("pause");
    return 0;
}
罗伯特·艾伦·亨尼根·莱希(Robert Allan Hennigan Leahy)

从函数返回时,将users执行数组每个元素的析构函数

users数组包含5个user对象,每个对象包含一个std::string

std::string 对象抽象堆分配的内存,它们用作缓冲区来包含所包含字符串的每个字符。

当对users数组的每个元素执行二进制写操作时,会将std::string实例的内部指针设置为垃圾。当调用其析构函数时,它们然后尝试读取垃圾指针,和/或释放垃圾指针。

无论如何,这是不好的生意。

要解决此问题,您需要实现一些机制来实际对字符串进行序列化/反序列化,仅复制对象的原始字节不会削减它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

msvcr110d.dll中未处理的异常

来自分类Dev

0x0f65f508(msvcr100d.dll)的未处理异常

来自分类Dev

cudaMemcpy2D的未处理异常

来自分类Dev

TheoraVideoManager不会在0x7329E13D(msvcr110.dll)初始化未处理的异常

来自分类Dev

*****.exe 中 0x00000000772CA267 (ntdll.dll) 处未处理的异常:0xC0000005:访问冲突写入位置 0xFFFFFCA800000000

来自分类Dev

2D Map Viewer未处理的异常

来自分类Dev

在DLL中捕获未处理的异常

来自分类Dev

SDL2 C++ 未处理的异常

来自分类Dev

ArticxEngine.exe中0x777122D2(ntdll.dll)处未处理的异常:0xC0000005:访问冲突写入位置0x00000004

来自分类Dev

未处理的异常:来自 HRESULT 的 System.BadImageFormatException 异常:0x8007000B

来自分类Dev

Wine Steam错误:未处理的异常:未实现的函数x3daudio1_7.dll.X3DAudioInitialize以32位代码(0x7b83ba4e)调用

来自分类Dev

0x7A47E727中未处理的异常

来自分类Dev

引发未处理的异常:读取访问冲突。x是0x20B4112

来自分类Dev

未处理的异常:System.Runtime.InteropServices.COMException(0x800A03EC)

来自分类Dev

未处理的异常-访问冲突读取位置0x00000000

来自分类Dev

来自外部DLL的未处理的DivideByZero异常-C#

来自分类Dev

通用应用程序未处理的异常(KERNELBASE.DLL)

来自分类Dev

未处理的异常DirectX11.1渲染2D图形

来自分类Dev

当我尝试写入2D数组时出现未处理的异常

来自分类Dev

向2D数组中的struct成员添加值时出现未处理的异常

来自分类Dev

C ++未处理的异常。0xC0000005:访问冲突读取位置0xccccccd0

来自分类Dev

在C中:未处理的异常:0xC0000005:访问冲突写入位置。程序无法运行

来自分类Dev

未处理的异常访问冲突写入位置0xCDCDCDCD-在Structure C ++中

来自分类Dev

试图将构造函数设置为0的未处理异常-C ++

来自分类Dev

使用双指针,从** void进行强制转换。(未处理的异常0xC0000005:访问冲突)

来自分类Dev

openGL glDrawArrays(GL_TRIANGLES,0,model.indicesCount)上未处理的异常; 称呼

来自分类Dev

未处理的异常访问冲突写入位置0xCDCDCDCD-在Structure C ++中

来自分类Dev

E / Volley:[925] NetworkDispatcher.processRequest:未处理的异常java.lang.RuntimeException:错误的URL null

来自分类Dev

未处理的异常:Unity3d中的System.Reflection.ReflectionTypeLoadException

Related 相关文章

  1. 1

    msvcr110d.dll中未处理的异常

  2. 2

    0x0f65f508(msvcr100d.dll)的未处理异常

  3. 3

    cudaMemcpy2D的未处理异常

  4. 4

    TheoraVideoManager不会在0x7329E13D(msvcr110.dll)初始化未处理的异常

  5. 5

    *****.exe 中 0x00000000772CA267 (ntdll.dll) 处未处理的异常:0xC0000005:访问冲突写入位置 0xFFFFFCA800000000

  6. 6

    2D Map Viewer未处理的异常

  7. 7

    在DLL中捕获未处理的异常

  8. 8

    SDL2 C++ 未处理的异常

  9. 9

    ArticxEngine.exe中0x777122D2(ntdll.dll)处未处理的异常:0xC0000005:访问冲突写入位置0x00000004

  10. 10

    未处理的异常:来自 HRESULT 的 System.BadImageFormatException 异常:0x8007000B

  11. 11

    Wine Steam错误:未处理的异常:未实现的函数x3daudio1_7.dll.X3DAudioInitialize以32位代码(0x7b83ba4e)调用

  12. 12

    0x7A47E727中未处理的异常

  13. 13

    引发未处理的异常:读取访问冲突。x是0x20B4112

  14. 14

    未处理的异常:System.Runtime.InteropServices.COMException(0x800A03EC)

  15. 15

    未处理的异常-访问冲突读取位置0x00000000

  16. 16

    来自外部DLL的未处理的DivideByZero异常-C#

  17. 17

    通用应用程序未处理的异常(KERNELBASE.DLL)

  18. 18

    未处理的异常DirectX11.1渲染2D图形

  19. 19

    当我尝试写入2D数组时出现未处理的异常

  20. 20

    向2D数组中的struct成员添加值时出现未处理的异常

  21. 21

    C ++未处理的异常。0xC0000005:访问冲突读取位置0xccccccd0

  22. 22

    在C中:未处理的异常:0xC0000005:访问冲突写入位置。程序无法运行

  23. 23

    未处理的异常访问冲突写入位置0xCDCDCDCD-在Structure C ++中

  24. 24

    试图将构造函数设置为0的未处理异常-C ++

  25. 25

    使用双指针,从** void进行强制转换。(未处理的异常0xC0000005:访问冲突)

  26. 26

    openGL glDrawArrays(GL_TRIANGLES,0,model.indicesCount)上未处理的异常; 称呼

  27. 27

    未处理的异常访问冲突写入位置0xCDCDCDCD-在Structure C ++中

  28. 28

    E / Volley:[925] NetworkDispatcher.processRequest:未处理的异常java.lang.RuntimeException:错误的URL null

  29. 29

    未处理的异常:Unity3d中的System.Reflection.ReflectionTypeLoadException

热门标签

归档