0
我試圖讀取一個名爲「pg.txt」的文件並打印出它的內容,並且我得到一個abort trap:6
錯誤。我不明白我爲什麼得到它。中止陷阱:6打開
這是我main file
:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main(){
char s1[10];
int d1;
int n1;
int n2;
int n3;
int n4;
FILE * fp;
fp = fopen ("pg.txt", "r");
int i;
fscanf(fp, "%d", &d1);
printf("numTypes |%d|\n", d1);
for (i = 0; i < d1; i++){
fscanf(fp, "%s %d %d %d %d", s1, &n1, &n2, &n3, &n4);
printf("type1 |%s|\n", s1);
printf("Avg CPU |%d|\n", n1);
printf("avg burst |%d|\n", n2);
printf("avg interarrival |%d|\n", n3);
printf("avg io |%d|\n", n4);
}
printf("Before CLOSING\n");
fclose(fp);
return(0);
}
,這是我pg.txt
文件:
2
interactive 20 10 80 5
batch 500 250 1000 10
這是輸出:
numTypes |2|
type1 |interactive|
Avg CPU |20|
avg burst |10|
avg interarrival |80|
avg io |5|
type1 |batch|
Avg CPU |500|
avg burst |250|
avg interarrival |1000|
avg io |10|
Before CLOSING
Abort trap: 6
我是新的C,所以任何解釋和幫助將不勝感激。
哪一行出現錯誤? – Barmar
你應該檢查'fopen()'是否成功。如果嘗試打開文件時出錯,它將返回NULL。 – Barmar
@Barmar幾乎肯定是原因。 –