【发布时间】:2016-11-09 18:02:52
【问题描述】:
#include<iostream>
#include<fstream>
#include<queue>
using namespace std;
const int process_cnt=22;
struct process{
int at;
float bt;
float rt;
int tat;
int wt;};
queue<process*> ready_q;
queue<process*> init_q;
int main(){
ifstream inData;
inData.open("input.txt");
while(inData){
我认为这是导致错误的原因,因为不应将文件中的条目放入当前的前面。顺便说一句,该文件在每行中有两个由空格分隔的值。条目指针指向前面的元素。我认为指向 back() 的入口可能有效,但效果不佳。
process *entry = init_q.front();//ERROR
inData >>entry->at>>entry->bt;
init_q.push(entry);
}
cout<<"Read Successful in read_file"<<endl;
inData.close();
return 0;
}
【问题讨论】:
-
在互联网上搜索“StackOverflow c++ 读取文件结构”以获取一些示例。
-
你为什么将 pointers 推送到对象而不是对象实例?指向对象的指针可能会导致内存泄漏的噩梦。此外,如果您坚持使用指针,请使用智能指针。