как читать содержимое структуры, используя fread () в c

У меня есть следующий код, где я пытаюсь прочитать содержимое файла и отобразить его, а также записать в другой файл. Моя проблема в том, что содержимое, которое я получаю на экране, полностью отличается от содержимого файла. Я поместил части содержимого файла и части результата отображаются

#include<iostream>
#include <stdint.h>
#include <stdio.h>
struct test
{
uint64_t start;
uint16_t length;
struct test *next;   
};

void main()
{
    char frd[32];
        std::cout<<"\nEnter name of file to read?\n";
    std::cin>>frd;
    FILE *rd=fopen(frd,"r+b");
    FILE *wrt=fopen("abc2.doc","w+");
     struct test test_st;

    while(fread (&test_st, sizeof(test_st), 1, rd))
{
       fwrite (&test_st,sizeof(test_st),1,wrt);
    printf("%llu,%u\n", test_st.start, test_st.length);
 }
fclose(rd);
fclose(wrt);
}

Частичное содержание исходного файла:

0,43 
43,95 
138,159
297,279
576,153
729,64

Первые несколько строк результата отображаются:

3474018176930688048,13879
3472896773804077344,14136
4049914982932231728,13362
3978707281317738034,12342
3474306356368193848,14132
3688511012684903220,14130
724298015681099573,13624

Исходные и конечные файлы имеют точные копии

Ответы на вопрос(4)

Ваш ответ на вопрос