我正在尝试读取一个文件,其中包含每行中22个进程的到达时间和突发时间。我正在尝试将这些值存储到结构数组中,以便每次进程获得CPU周期时我都可以更新它们。虽然读取工作不成功。帮我弄清楚我错过了什么。作为文本文件的文件如下所示: 30 0.78 \ n 54 17.28 \ n 97 32.82 \ n 。 。 。
#include<iostream>
#include<fstream>
using namespace std;
const int process_cnt=22;
struct process{
int at;
float bt;
float rt;
};
process init_q[process_cnt],ready_q[process_cnt];
void getData(ifstream& inData,process init_q[]);
int main(){
ifstream inData;
getData(inData,init_q);
cout<<"Test";
return 0;
}
void getData(ifstream& inData,process init_q[]){
inData.open("input.txt");
while(inData){
inData>>init_q->at>>init_q->bt;
cout<<init_q->at<<" "<<init_q->bt<<endl;//check if read was succesful
}
inData.close();
}
答案 0 :(得分:2)
您可能缺少的是当前数组条目的索引:
void getData(ifstream& inData, process init_q[]) {
inData.open("input.txt");
int index = 0;
while (inData) {
process *entry = init_q[index++];
inData >> entry->at >> entry->bt;
cout << entry->at << " " << entry->bt << endl;//check if read was succesful
}
inData.close();
}
我跳过了检查当前索引是否低于const 22的部分。