Чтобы расширить заголовок, я создаю набор комнат, используя структуры, и функция по существу должна генерировать случайным образом до 7 комнат (из 10), в то время как начальная и конечная комнаты генерируются каждый раз. Затем я пытаюсь сгенерировать файл для каждой структуры помещения и отображать их PID, чтобы затем открыть каждый каталог для записи или создания этого файла. Итак, я генерирую структуру следующим образом:
struct room
{
int id;
char* name;
int numOutboundConnections;
struct room* outboundConnections[6];
};
и
int main(int argc, char* argv[])
{
struct room Room1;
Room1.id = 0;
Room1.name = calloc(16, sizeof(char));
strcpy(Room1.name, "Forest");
Тогда это моя попытка создать каталог и создать его в первичном каталоге:
// Generate the "rooms" directory name
sprintf(dirname, "./browninz.room.%d", getpid());
// Generate the room names concatenated with the directory name
sprintf(dir0, "%s/Room1", dirname);
sprintf(dir1, "%s/Room2", dirname);
sprintf(dir2, "%s/Room3", dirname);
sprintf(dir3, "%s/Room4", dirname);
sprintf(dir4, "%s/Room5", dirname);
sprintf(dir5, "%s/Room6", dirname);
sprintf(dir6, "%s/Room7", dirname);
mkdir(dirname, 0777);
// Now opening the room files/directories to create or write them in the folder.
FILE *Room1 = fopen(dir0, "w+");
FILE *Room2 = fopen(dir1, "w+");
FILE *Room3 = fopen(dir2, "w+");
FILE *Room4 = fopen(dir3, "w+");
FILE *Room5 = fopen(dir4, "w+");
FILE *Room6 = fopen(dir5, "w+");
FILE *Room7 = fopen(dir6, "w+");
, что приводит к этой ошибке для всех структур комнаты:
In function ‘main’:
browninz.buildrooms.c:102:11: error: conflicting types for ‘Room1’
FILE *Room1 = fopen(dir0, "w+");
^
Буду признателен за любые рекомендации, поскольку я относительно новичок в программировании в C и не могу понять это.