C++ 从映射读取时断言失败 intmain(){ //日期变量 国际日; 整月; 国际年; 字符串comName; 字符串温度; 字符串temp2; //时间变量 整小时; 整数分钟; 整数秒; 字符串amPm; ofstr流(“output.csv”); 浮动
从映射读取时断言失败C++ 从映射读取时断言失败 intmain(){ //日期变量 国际日; 整月; 国际年; 字符串comName; 字符串温度; 字符串temp2; //时间变量 整小时; 整数分钟; 整数秒; 字符串amPm; ofstr流(“output.csv”); 浮动,c++,vector,assertion,C++,Vector,Assertion,从映射读取时断言失败 intmain(){ //日期变量 国际日; 整月; 国际年; 字符串comName; 字符串温度; 字符串temp2; //时间变量 整小时; 整数分钟; 整数秒; 字符串amPm; ofstr流(“output.csv”); 浮动价格=0.00; 国际卷; 浮动值=0.00; 浮动运行量=0.00; 浮动运行值=0.00; 浮动运行价格=0.00; 字符串条件; 字符串文件名; 字符串tempCName; 字符串compDate; 河流充填; ifstreamcompf
intmain(){
//日期变量
国际日;
整月;
国际年;
字符串comName;
字符串温度;
字符串temp2;
//时间变量
整小时;
整数分钟;
整数秒;
字符串amPm;
ofstr流(“output.csv”);
浮动价格=0.00;
国际卷;
浮动值=0.00;
浮动运行量=0.00;
浮动运行值=0.00;
浮动运行价格=0.00;
字符串条件;
字符串文件名;
字符串tempCName;
字符串compDate;
河流充填;
ifstreamcompfile;
ifstream主文件;
地图;
open(“code_index.txt”);
if(infle.is_open()){
而(!infle.eof()){
getline(infle,tempCName);
无法完成代码“”我打赌它不是map,但它是这个Vector
类,这是问题的原因。此外,它确实输出了map内容,退出了for循环,然后我尝试读入一个int I;你知道,只是为了让程序不关闭。然后导致断言错误,我实际上在将向量发送到map之前测试了它,最初所有的数据都没有显示出来o矢量,没有地图,我只是计算出了矢量的长度,这是有效的。只有当我集成了地图时,这个错误才会发生。你应该把你的代码发布在这里,而不是一些人无法访问的链接上。此外,这个链接将来可能会消失,从而使这个问题变得毫无价值。
int main(){
//Date Variables
int day;
int month;
int year;
string comName;
string temp;
string temp2;
//Time Variables
int hours;
int minutes;
int seconds;
string amPm;
ofstream ofstr("output.csv");
float price = 0.00;
int volume;
float value = 0.00;
float runningVol = 0.00;
float runningVal = 0.00;
float runningPrice = 0.00;
string condition;
string fileName;
string tempCName;
string compDate;
ifstream inFile;
ifstream compFile;
ifstream mainFile;
map<string, Vector <Share>> stlMap;
inFile.open("code_index.txt");
if(inFile.is_open()){
while(!inFile.eof()){
getline(inFile,tempCName);
cout << "read next line in code_index" << endl;
comName = tempCName+"\\sales_index.txt";
cout << "Company name to open is: " << comName << endl;
compFile.open(comName);
if(compFile.is_open()){
while(!compFile.eof()){
getline(compFile,fileName);
cout << "Read the fileName: " << fileName << endl;
fileName = tempCName+"\\"+fileName;
mainFile.open(fileName);
if(mainFile.is_open()){
Vector <Share> myVec;
while(!mainFile.eof()){
compDate = "";
cout << "Stored all the variables" << endl;
//Getting and storing the Date
getline(mainFile,temp2,'/');
day = atoi(temp2.c_str());
getline(mainFile,temp2,'/');
month = atoi(temp2.c_str());
getline(mainFile,temp2,' ');
year = atoi(temp2.c_str());
//cout << "date = " << day << "mo = " << month << "yr = " << year;
//Date d;
Date d(day,month,year); //Sending them to the Date class using the parameterized constructor
compDate = tempCName + "_" + d.returnDate();
//cout << "Date is: "<< compDate << endl;
cout << compDate << endl;
// Getting and storing the time variable
getline(mainFile,temp2,':');
hours = atoi(temp2.c_str());
getline(mainFile,temp2,':');
minutes = atoi(temp2.c_str());
getline(mainFile,temp2, ' ');
seconds = atoi(temp2.c_str());
getline(mainFile,temp2,',');
amPm = temp2;
//Time t;
Time t(hours,minutes,seconds,amPm);
//cout << "Hours = " << hours << "minutes = " << minutes << "seconds = " << seconds << " " << amPm;
getline(mainFile,temp2,',');
price = atof(temp2.c_str());
//cout << price;
getline(mainFile,temp2,',');
volume = atoi(temp2.c_str());
getline(mainFile,temp2,',');
value = atof(temp2.c_str());
getline(mainFile,temp2,'\n');
condition = temp2;
Share s(price,volume,value,d,t);
myVec.push_back(s);
}
stlMap[compDate] = myVec;
mainFile.close();
}
else{ cout << "Specified day file not found";}
}
compFile.close();
}
else{cout << "Specified company folder not found / sales_indexfile not found" << endl;}
}
inFile.close();
}
else
{cout << "code_index.txt not found. Please make sure the file exists";}
for(map<string, Vector <Share>>::iterator itr = stlMap.begin();itr!=stlMap.end() ;itr++ )
{
cout << "map values\n";
//cout << itr->first << endl;
//cout << itr->second.length() << endl;
}
int iii = 0;
cin >> iii;
return 0;