试图从C中的文本文件中读取信息

时间:2016-04-03 22:52:21

标签: c file input io

我正在尝试阅读以下文本文件:

Parameters.txt:

{{1}}

并将每个值保存为变量(8000,1,100,“FCFS”,“First”,“OFF”,“OFF”)。我开始只是读取memSize(8000)的值。

我有以下C代码:

{{1}}

然而,我从中得到了分段错误。我调试了代码以将seg故障缩小到fscanf()行。

尝试阅读此文件时,我是否过于复杂?

1 个答案:

答案 0 :(得分:0)

FILE *parameters;
parameters=(fopen("./Parameters.txt","r"));
if(parameters==NULL){
    printf("Error reading file.");
    exit(1);
}
char *strTemp = malloc(80);
int memSize, numCores, quantum, swapTime;
char *schedule = malloc(80), memAlloc = malloc(80);
fscanf(parameters, "%s %s %d", strTemp, strTemp, &memorize);

在您的代码中,strTempschedulememAlloc只不过是指向char的指针。但是,要保存字符串,需要一块内存,因此必须为指针分配一些内存。

顺便说一句,如果我是你,我会写fscanf(parameters, " %*[^:] :%d", &memorize);以避免不必要地使用strTemp