Visual studio 2017
Run-Time Check Failure #2-Stack around the variable ‘name’ was corrupted.
出现这个问题就代表数组越界了
例如下面这个代码
#include
#include
#include <stdlib.h>
using namespace std;//没有这个istream ,ostream会报错
void main()
{
ifstream inFile;
ofstream outFile;
outFile.open(“my.dat”, ios::out);//建立输出文件
char univ[] = “武汉理工大学”, name[10];
int course = 2401, number;
outFile << univ << endl; // 写入
outFile << course << endl;
inFile.open(“my.dat”, ios::in || ios::_Nocreate); // 打开
if (!inFile) {
cerr << “不能打开my.dat” << endl;
exit(1);
}
char c;
inFile >> name >> c >> number;
outFile << “name:” << name << endl;
outFile << “number:” << number << endl;
}
其中char univ[] = “武汉理工大学”, name[10];
这一句数组存储的是字
Visual studio 2017 Run-Time Check Failure #2-Stack around the variable 'name' was corrupted.
本文介绍了在Visual Studio 2017中遇到的Run-Time Check Failure #2错误,该错误涉及变量'name'的堆栈溢出。问题源于数组越界,具体示例代码中,字符串'武汉理工大学'需要13字节存储空间,但分配的name数组只有10字节。修正方法是确保数组大小至少为13字节,以避免堆栈溢出并确保代码正常运行。
摘要由CSDN通过智能技术生成