Как я мог взять эту структуру и создать для нее 32 разных имени команды?Создание имен структур с использованием цикла for?
stucture для заполнения:
typedef struct team{
int stats[4];
}Team;
Это текстовый файл:
patriots 300 200 500 200
rams 200 340 230 300
cardinals 300 200 450 150
...
Чтобы создать экземпляр 32 экземплярам Team кажется излишним, например:
Team patriots;
Team rams;
Team cardinals;
...
Как создать эти экземпляры, чтобы я мог идентифицировать их по имени?
(см последний комментарий в сниппет, чтобы увидеть, где я неправильно)
int main(int argc, char* argv[]){
int i = 0;
int j = 0;
FILE* file = fopen(argv[1], "r");
for(i = 0 ; i < 32 ; i++){
// Read the name
string name;
fscanf(file, "%s", name)
// Create an instance of Team by its name
/* PROBLEM : Obviously this does not work,
how to name a variable as this? */
Team name;
for(j = 0 ; j < 4 ; j++){
fscanf(file, "r", &name.stats[j]);
}
}
}
«Мне было интересно, могу ли я сделать что-то подобное» - это ...? –
Почему бы не добавить 'std :: string' в структуру как член и сохранить там имя команды? А также используйте потоковые операторы вместо типа unsafe 'c'-style' fscanf'. – tillaert
Ваша вторая строка формата fscanf неверна. – tillaert