但是,当我将输入和输出文件的文件指针的路径从const char * input_file =“ input.txt”;更改为../data/input.txt“时,下面的代码运行良好我收到以下错误 Memory could not be written error
如何将文件指针的路径更改为目录中的正确文件 下面是我的主程序代码
int main(int argc, char **argv)
{
const char *input_file = "input.txt";
const char *output_file = "output.txt";
int i, j, k, n;
int cars_arrived, total_cars, max_queue_len, running_queue_len;
int arrival_time, wait_time, max_wait_time, running_wait_time;
int departure_period, departure_timer;
int light_timer, light_duration[3] = {0, 0, 0};
int time, increment, runtime;
int avg_wait_time, avg_queue_len;
double arrival_rate, lambda;
Light light;
queue_t *queue = (queue_t *)malloc(sizeof(queue));
parameters *param_list = read_input_file(input_file, &n);
FILE *output_fp = fopen(output_file, "w");
fprintf(output_fp, "%s\n", STUDENT_ID);
parameters* read_input_file(const char *fname, int *num_scenarios)
{
int i, j, k, idx, value;
keyword key;
parameters *param_list = NULL;
FILE *fp = fopen(fname, "r");
/* write the output to the file */
fprintf(output_fp, "Arrival rate: %d cars per min\n", param_list[i][0]);
fprintf(output_fp, "Departure rate: %d s per car\n", param_list[i][1]);
fprintf(output_fp, "Runtime: %d min\n", param_list[i][2]);
fprintf(output_fp, "Time increment: %d ms\n", param_list[i][3]);
fprintf(output_fp, "Light sequence: Green %d s; Amber %d s; Red %d s\n",
param_list[i][6], param_list[i][5], param_list[i][4]);
fprintf(output_fp, "Average length: %d cars\n", avg_queue_len);
fprintf(output_fp, "Maximum length: %d cars\n", max_queue_len);
fprintf(output_fp, "Average wait: %d s\n", avg_wait_time / 1000);
fprintf(output_fp, "Maximum wait: %d s\n", max_wait_time / 1000);
}
fclose(output_fp);
/* free memory */
free(queue);
free(param_list);
return 0;
}