Мне нужно использовать оба malloc
и realloc
, и я не совсем понимаю, как это сделать.
Предполагая, что входной файл выглядит примерно так:
a *b c
a
*a b *c
и я есть структуры, настроенные так:
typedef struct Unit {
bool hasAstericks;
char letter;
} unit;
typedef struct Line {
struct unit clause[4]
} line;
Можно ли создать структуру типа unit
из каждой буквы, добавить их в массив в структуре Line
на основе строки, на которой они находятся? Я пытался использовать петли, но не мог создавать структуры на лету с ними.
Это то, что я пробовал:
int c;
filename = argv[1];
char *filename;
FILE *fp = fopen(filename, "r");
filename = (char *)malloc(size);
do {
c = fgetc(fp);
inputFile = (char *)realloc(inputFile, size + 1);
inputFile[n] = c;
n++;
size++;
} while (c != EOF);