Это код, который я использовал для чтения и сохранения строк из текстового файла в массив выражений:
//create array for going through the file
char lines[128];
//create array for storing expressions
char **expressions = malloc(128*sizeof(char*));
FILE *file = fopen(argv[1],"r");
int count = 0;
while (fgets(lines,128,file)){
expressions[count] = lines;
printf("expressions[%d] is %s\n",count,expressions[count]);
count++;
}
for (int i = 0; i<count; i++){
printf("%s",expressions[i]);
}
И вот текст, который этот код пытается прочитать:
f = g + h - 42;
g = 12 + 23;
Моя проблема заключается в том, что, хотя он, кажется, проходит файл должным образом (количество соответствует количеству строк), последний цикл печати печатает последнюю строку g = 12 + 23
дважды вместо двух отдельных строк. Почему это происходит и что я могу сделать, чтобы решить эту проблему?