Как сохранить массив в файле (базе данных) и как получить к нему доступ в программе - PullRequest
0 голосов
/ 02 ноября 2019

В Си, как хранить массив в файле (базе данных) и как получить к нему доступ в программе. В этой программе, когда я ввожу индексный номер для примера 2 (который содержит 30), после того, как я хочу вычесть возраст на 5, тогда он показывает 25, но когда я хочу изменить индексный номер 2, тогда он вычитается из 25 ,,, неиз данного индекса

#include<stdio.h>

#define PATH "/storage/emulated/0/c language/data2.txt"

int main()
{
    FILE *file;
    int age[] = {15,10,19,3}, s,i;
    printf("Enter the array index:");
    scanf("%d",&i);
    file = fopen(PATH, "r");
    if (file == NULL)
    {
        printf("files does not exist");
        return 1;
    }
    fscanf(file, "%d", &age[i]);
    fclose(file);
    printf("Enter how much age should to be subtracted:");
    scanf("%d", &s);

    file = fopen(PATH, "w");
    age[i] = age[i] - s;
    fprintf(file, "%d", age[i]);
    fclose(file);
    printf("%d", age[i]);
}

1 Ответ

0 голосов
/ 02 ноября 2019

Вам нужно будет сохранить данные из файла в массиве, отредактировать их и затем загрузить обратно в файл.

fscanf(file, "%d", &age[i]);

Этот код читает первое целое число в файле и загружает его вage [i]

fprintf(file, "%d", age[i]);

Заменяет содержимое файла на age [i], после чего вы получите файл только с 1 номером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...