我正在编写一个程序,该程序检查20个文件中的单词“ NULL”,如果不存在该程序,则在其中放置预定义的单词/句子 尝试通过调试器运行程序时,将引发异常:“引发异常:写访问冲突。 _Left为0xCCCCCCCC。“
主要问题是,在“ iosfwd”文件的第506行中引发了异常。 我试图重新排列代码,并从这里到那里尝试不同的代码段。
#include <fstream>
#include <string>
#include <Windows.h>
#include <iostream>
using namespace std;
string ending = ".txt";
string name = "Prog";
int main()
{
ofstream os;
ifstream is;
string a, nouse;
string Progs[20];
is.open("tempstring.txt");
getline(is, nouse);
is.close();
cout << "UPDATING DATABASE.. DO NOT EXIT!" << endl;
cout << "String Called" << endl;
for (int count = 1; count < 20 + 1; count++)
{
cout << count;
string fname1 = name + to_string(count) + ending;
is.open(fname1);
getline(is, Progs[count]);
is.close();
}
cout << "done 1";
system("pause");
for (int count = 1; count < 20 + 1; count++)
{
string fname2 = name + to_string(count) + ending;
if (Progs[count] == "NULL")
{
os.open(fname2);
os << nouse;
os.close();
os.open("tempdone.txt");
os << 1;
os.close();
Sleep(500);
cout << "SUCCESS" << endl;
system("pause");
exit(EXIT_SUCCESS);
}
}
cout << "done end" << endl;
system("pause");
os.open("tempdone.txt");
os << 2;
os.close();
exit(EXIT_FAILURE);
}
iosfwd的一部分:
static _CONSTEXPR17 void assign(char& _Left, const char& _Right) noexcept
{ // assign an element
_Left = _Right;
}
我希望程序正常继续循环,但是当我尝试运行程序而不进行调试时,它显示直到“ String Called”,然后显示1234567891011121314151617181920,等待大约3秒钟,然后退出并显示代码“ -1073741819”