Lesen Sie in einer Textdatei in C und trennen Sie die Zeilen in mehrere Variablen.
Ich arbeite derzeit an einem Programm, das verschiedene CPU-Scheduling-Methoden simuliert. Momentan frage ich das Programm nach Eingaben:
printf("Enter type of CPU scheduling algorithm (SJF, RR, PR_noPREMP, PR_withPREMP): ");
scanf("%s", typeOf);
printf("Enter number of processes: ");
scanf("%d", &numPro);
struct processStruct structs[numPro];
int burstTimes[numPro];
for (i = 0; i < numPro; i++) {
printf("Enter process number: ");
scanf("%d", &structs[i].pNum);
printf("Enter arrival time: ");
scanf("%d", &structs[i].arTime);
printf("Enter CPU burst time: ");
scanf("%d", &structs[i].cpuBur);
printf("Enter priority: ");
scanf("%d", &structs[i].prio);
}
Neben den beiden Variablen typeOf (ein int) und numPro (ein char-Array) verwende ich auch eine Datenstruktur.
Hier ist die Datenstruktur, die die verschiedenen Parameter enthält:
struct processStruct {
int pNum;
int arTime;
int cpuBur;
int prio;
int waitTim;
};
Anstelle der manuellen Eingabe möchte ich eine Textdatei mit den gleichen Informationen wie die Eingabe für das Programm verwenden. Die Textdatei würde ungefähr so aussehen:
SJF
4
1 0 6 1
2 0 8 1
3 0 7 1
4 0 3 1
Erste Zeile ist der Name des Planungsalgorithmus. Die zweite Zeile ist die Anzahl der Prozesse. Die folgenden Zeilen enthalten Informationen zu jedem Prozess. Also 1 0 6 1 = Prozess = 1, 0 = Ankunftszeit, 6 = CPU-Burst-Zeit, 1 = Priorität
Ich habe leider wenig Erfahrung mit der Eingabe von Textdateien in C. Hat jemand Ideen, wie ich die Daten aus der Textdatei in die Variablen- und Datenstruktur einlesen könnte?
Vielen Dan
Edit: Eines der Probleme, die ich habe, ist, dass die Daten nicht für jede Zeile gleich sind. Wenn es nur die Reihen mit 4 Zahlen wären, wäre es relativ einfach. Ich brauche das Programm, um die erste Zeile in ein char-Array (String) zu lesen, die zweite in die numPro-Variable und dann die nachfolgenden Zeilen in mehrere Instanzen der Datenstruktur (eine für jeden Prozess).