Как извлечь определенные c данные из txt файла с помощью fgets? - PullRequest
0 голосов
/ 05 мая 2020

У меня есть текстовый документ, в котором данные хранятся в следующем формате:

NUNMBER OF CLIENTS  6
//---------------------
Client ID: 1
Name John Barnes
Gender MALE 
Occupation EMPLOYED
//---------------------
Client ID: 2
Name Sarah Barnes
Gender FEMALE 
Occupation EMPLOYED
//---------------------
Client ID: 3
Name Carol Hughes
Gender FEMALE 
Occupation EMPLOYED
//---------------------

Как мне (в C) извлечь определенные c данные, т.е. если пользователь просто хочет увидеть имена всех женщин или имена всех безработных? Я написал код для ввода пользователем того, что они ищут, но мне нужно извлечь данные из txt файла. желательно с помощью команды fgets.

Большое спасибо

1 Ответ

0 голосов
/ 06 мая 2020

Я не совсем уверен, в чем именно вам нужна помощь; для начала и предполагая, что все ваши записи имеют те же 4 поля, вы можете объявить struct, чтобы представить их следующим образом:

enum gender {male, female /* and more, if you want*/};
struct entry {
   int client_id;
   char *name;
   enum gender gender;
   char *occupation;
};

, а затем читать файл построчно, переключаясь на новый Структура ввода всякий раз, когда вы дойдете до строки типа //------

Это поможет? : D

...