Не получается считать данные из файла

не понимаю в чём проблема. Пытаюсь считать данные из файла, считывается непонятно что.

Вот сам код: (ниже есть пример отладки кода, данных в файле и их чтения)

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

void data_form(); // формирование массива данных на диске

int record_count(); // подсчёт числа чисел в файле

void load_database(int* l); // чтение массива

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

int main()
{
    setlocale(LC_ALL, "ru");
    
    data_form();
    int m = record_count();
    int* arr;
    arr = new int[m];
    load_database(arr);
    for (int i = 0; i < m; i++)
        cout << *arr + i << endl;
    delete[] arr;

    system("pause");
    return 0;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// формирование массива данных на диске
void data_form()
{
    int m;
    cout << "Введите количество чисел для записи на диск: "; cin >> m;
    srand(time(NULL));
    FILE* pf;
    if ((pf = fopen("DataBase.txt", "w+")) == NULL)
        perror("Error opening file!");
    for (int i = 0; i < m; i++)
        fprintf(pf, "%d\n", rand()%21 - 20);
    fclose(pf);
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// подсчёт числа чисел в файле
int record_count()
{
    int n = 0, k = 0;
    FILE* pf;
    if ((pf = fopen("DataBase.txt", "r")) == NULL)
        perror("Error opening file!");
    while (!feof(pf) && !ferror(pf))
    {
        fscanf(pf, "%d\n", &k);
        n++;
    }
    fclose(pf);
    return n;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// чтение массива
void load_database(int* l)
{
    FILE* pf;
    if ((pf = fopen("DataBase.txt", "r")) == NULL)
        perror("Error opening file!");
    for (l; !feof(pf); l++)
        fscanf(pf, "%d\n", &l);
    fclose(pf);
}

Отладка кода:

Введите количество чисел для записи на диск: 12

Что получается в файле

-16
-19
-16
-6
-7
-14
-20
-18
-1
-7
-1
-10


Что выводит код:

-842150451
-842150450
-842150449
-842150448
-842150447
-842150446
-842150445
-842150444
-842150443
-842150442
-842150441
-842150440

Ответы (0 шт):