構建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