Member 12696061 Ответов: 2

Как искать и обновлять данные в файлах на языке Си?


Я делаю проект о деталях клиентов, используемых в супермаркете на языке Си.
Сначала я введу все данные клиента, такие как идентификатор клиента,имя,номер телефона, кредитные баллы ... в файл.
Затем как искать конкретного клиента, используя идентификатор клиента или номер телефона в файле.
Как обновить свои кредитные баллы. 1 кредитный балл будет выдаваться клиенту за каждую покупку в размере 100 долларов.

Что я уже пробовал:

чтение файла до конца файла.

2 Ответов

Рейтинг:
1

CPallini

Вообще говоря вам нужно:

  • считайте файл в память
  • изменение содержимого памяти
  • запишите обратно измененное содержимое памяти в исходный файл (перезаписав его)

Чтобы облегчить себе жизнь, вы можете использовать базу данных (например, SQLITE) или сериализация[^] библиотека.


Рейтинг:
1

Patrice T

Более или менее, вы создаете базу данных в файле.
Если вы не заботитесь о деталях, каждая операция включает в себя полную перезапись файла.

Цитата:
Затем как искать конкретного клиента, используя идентификатор клиента или номер телефона в файле.

перечитывая файл, находя нужное поле каждой записи и ища совпадение.

1 решение, чтобы избежать проблемы перезаписи, заключается в использовании полей фиксированной длины точно так же, как это делала dBase. . dbf-Википедия, свободная энциклопедия[^]
или прибегнуть к SQL