cin命令导致内存位置出现Microsoft C++异常:std::bad_alloc
Microsoft C++ exception: std::bad_alloc at memory location cause by cin command
我面临的问题有点令人困惑,因为我在内存位置遇到Microsoft C++异常:std::bad_alloc通过Win32配置(在Win7-SP1 64位/VS200/4G RAM上)构建时的运行时
我的应用程序使用一个库并要求用户输入,但当代码到达cin语句时,代码中的cin命令引发了上述运行时异常。因此,为了确保我发现了什么,创建了一个测试项目,只包含以下代码,并验证引发相同异常的cin命令:
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"Please enter ?n";
string input = "test";
cin >> input; //This code causing runtime exception
return 0;
}
我用谷歌搜索它,然后修改代码以使用x64构建,这有助于我避免这种异常,所以我将原始代码修改为64位,并成功地能够在cin命令上运行。
但当我将配置改回win32并构建时,在示例应用程序和原始应用程序中都不再发生上述异常。
所以我想知道:若有人的脸和我一样,我正在经历什么?
当我第一次使用win32构建时,出现了什么问题?
此外,如果该代码目前在win32上成功运行(从x64恢复后),它真的运行得很好吗?还是只是与一些东西混合在一起,使其暂时工作?
Thnaks
可能与_tmain 导致的UTF16的使用有关
您是否尝试过使用std::wstring或普通(非Microsoft)main?
相关文章:
- 处理多个异常集合的C++方法
- 我在c++代码中生成了一个运行时#3异常
- 孤立代码块在结构中引发异常
- C++中的赋值发生,尽管右侧出现异常
- 从构造函数抛出异常时如何克服内存泄漏
- 异常属于C++中的线程还是进程
- 当类定义不可见时捕获异常
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- 为什么异常不退出程序?
- 为什么我应该在异常处理中使用std::cerr而不是std::cout
- 如何修复链表类实现的未处理异常0xDDDDDDDD
- 关于:C++中异常对象的范围:为什么我没有得到副本?
- 是什么导致了Unity 3D中的"错误线程异常"?
- 如何将strftime中的格式错误作为异常捕获
- 创建具有 new in 函数和"this is nullptr"异常的对象
- 尝试使用智能指针时引发异常
- 函数如何通知用户它基于函数原型抛出异常?
- 是否值得降低我的代码的可读性,以便在出现内存不足错误时提供异常安全性?
- 当我使用 C++ 中的 C# dll 来使用 Selenium 时,存在异常处理问题
- Pytorch torch.cholesky忽略异常