构建8000行向量时出现了一些问题。每行是一个包含5列的结构。我不确定C++没有任何反应,即使是错误信息......它只是说“线程'Win32 Thread'(0x3b48)已退出,代码为-1073741510(0xc000013a) 线程'Win32 Thread'(0x309c)退出代码-1073741510(0xc000013a) 程序'[13048] Branch Filter Vector.exe:Native'已退出,代码为-1073741510(0xc000013a)。“向量中的结构,一个向量包含8000个成员
我的代码将
#include <fstream>
#include <iostream>
#include <iomanip>
#include <sstream>
#include <stdio.h>
#include <vector>
using namespace std;
struct branch {
long int FromBusNum;
string FromBusName;
double FromBusVoltage;
long int ToBusNum;
string ToBusName;
;
};
int main()
{
vector<branch> myBranch(8000);
ifstream infile;
long int x1;
string x2;
double x3;
long int x4;
string x5;
;
int num = 0; // num must start at 0
//infile.open("Data.txt");
if(infile.fail()) // checks to see if file opended
{
cout << "error" << endl;
return 1; // no point continuing if the file didn't open...
}
string dummyLine; //do not read in the first line
getline(infile, dummyLine);
while(!infile.eof()) // reads file to end of *file*, not line
{
myBranch.push_back(branch());
infile>>x1 >> x2 >> x3 >> x4
>> x5 ;
myBranch[num].FromBusNum = x1;
myBranch[num].FromBusName = x2;
myBranch[num].FromBusVoltage = x3;
myBranch[num].ToBusNum = x4;
myBranch[num].ToBusName = x5;
++num; // go to the next number
}
infile.close();
ofstream fout("valency.txt");
for(int i=0;i<num;i++)
fout/*<<myBranch[i].FromBusNum<<"\t"
<<myBranch[i].FromBusName<<endl;
fout.close();
system("pause");
return 0; // everything went right.
}
不知道问题出现在那里......谢谢你在前进!
你确定这是正确的错误代码,符合微软,0xc000013a意味着你按CTRL-C ...;) – 2014-10-03 21:58:28
@MatsPetersson这是关闭弹出窗口后的错误消息...所以我不认为这是由我的代码造成的.. – BenSeedGangMu 2014-10-03 22:01:24
那么,我把你的代码,编译它,用8000行'1 A 3.3 8 B'做了一个文件,它工作得很好。因此无论是在你的文件中,还是在g ++和你正在使用的任何编译器之间有所不同...... – 2014-10-03 22:04:24