ich eine Textdatei wie folgt formatiert haben:Lesen eines int aus einer Textdatei in ein Array in C
100 0 10 1
101 6 10 1
102 8 4 1
103 12 20 1
104 19 15 1
105 30 5 1
106 35 10 1
Ich brauche diese Zahlen in den Arrays pID setzen [] Ankunft [], Bursts [] bzw. Priorität []. C ist nicht meine stärkste Sprache, also habe ich einige Probleme damit.
Hier ist mein aktueller Code:
void readFile(int n, int pID[], int arrival[], int bursts[], int priority[]){
FILE *file;
int i = 0;
file = fopen("Process.txt", "r");
//File format is pID, arrival, bursts, and priority
if (file){
while (!feof(file)){
pID[i] = fscanf(file, "%d ", &i);
arrival[i] = fscanf(file, "%d ", &i);
bursts[i] = fscanf(file, "%d ", &i);
priority[i] = fscanf(file, "%d ", &i);
}
fclose(file);
}
Vielen Dank für jede Hilfe!
[warum-ist-while-feof-Datei-immer-falsch] (http://stackoverflow.com/questions/5431941/why-is-while-feof-file-always-wrong). Und "Ich habe einige Probleme dabei" ist nicht wirklich * spezifisch *. Siehe [fragen]. – Olaf
'fscanf' gibt * die Anzahl der erfolgreich gescannten Objekte * und nicht den gescannten Wert zurück. 'if (fscanf (Datei,"% d ", & pID [i])! = 1) exit (1);' –
Entschuldigung, die Werte, die in die Arrays geschrieben werden, sind nicht in der Nähe der Datei. Danke für den Artikel. Wenn! Feof (Datei) falsch ist, wie kann man die einzelnen Zeilen der Datei korrekt durchlaufen? –