Я пытаюсь прочитать из файла в массив. Мой файл называется Players.txt содержит:Использование fscanf в C
Del Piero|3|Italy|Juventus|
Ronaldo|0|Portugal|Real Madrit
Я использовал fscanf
, но он не работает правильно, я не делаю прямо преобразование.
может кто-нибудь помочь мне прочитать и сохранить их в массивы. Как имя массива игрока содержать { Del Piero, Ronaldo}
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <stddef.h>
#include <ctype.h>
#define NUM_PLAYERS 20
#define NAME_LENGTH 100
#define COUNTRY_NAME 20
int main (void)
{
FILE *Players;
char player_name [NUM_PLAYERS][NAME_LENGTH] = {0};
char country_name[NUM_PLAYERS][COUNTRY_NAME] = {0};
char team_name[NUM_PLAYERS][NAME_LENGTH] = {0};
int goals_scored[NUM_PLAYERS] = {0};
int i;
Players = fopen("G:\\COP2220\\Project 5\\Players.txt", "r");
if (Players == NULL)
{
printf("File not found.\n");
}
else
{
while (fscanf(Players, " %[^|]s %[^|]d %[^|]s %[^|]s",player_name[i],&goals_scored[i],country_name[i],team_name[i]))
{
printf("The player %s, scored %d from %s plays in %s\n", player_name, goals_scored,country_name, team_name);
}
}
fclose(Players);
return 0;
}
вы, вероятно, следует инициализировать 'i' в '0' – tay10r
@TaylorFlores я сделал это сейчас, но это правильный цикл в то время? – user2512806
ваши вызовы функций немного от – tay10r