我有以下代码,我试图读取文件的内容并显示它并写入另一个文件。我的问题是我在屏幕上看到的内容与文件的内容完全不同。我已经把文件的部分内容和显示的结果的部分
#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
源文件和目标文件具有精确的副本