Ich versuche, eine Datei zu lesen, die die Ankunftszeit und Burst-Zeit von 22 Prozessen in jeder Zeile enthält. Ich versuche, diese Werte in ein Array von Strukturen so zu speichern Ich kann sie jedes Mal aktualisieren, wenn ein Prozess einen CPU-Zyklus bekommt. Das Lesen funktioniert jedoch nicht erfolgreich.Helfen Sie mir herauszufinden, was ich vermisse. Die Datei, die eine Textdatei ist, sieht wie folgt aus: 30 0,78 \ n 54 17.28 \ n 97 32.82 \ n . . . .Wie Zeilen einer Datei in ein Array von Strukturen gelesen werden
#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();
}
Sie müssen zeigen, wie die Datei aussieht. – NathanOliver
Ist das eine Binär- oder Textdatei? Gibt es neue Zeilen am Ende? Hast du diesen Code ausprobiert, wenn ja, was passiert? – doctorlove
Sie verwenden eine etwas unglückliche Kürzung von "Nummer" bis "Nein". Verwenden Sie 'process_cnt' anstelle von' no_process'. Es verwirrte mich (unnötig) für ein paar Sekunden. –