读取文件的时候用while循环为什么会重复打印两次?

代码如下:

//读取学生信息

void Readstudent()

{

//打开文件

FILE* fp;

errno_t err = fopen_s(&fp, "D:\\stuinf.txt", "r");

if (fp == nullptr)

{

cout << "打开文件失败" << endl;

return;

}

//读文件

student stu;

while (fread(&stu, 1, sizeof(student), fp))

{

//创建一个新节点

Node* pNewNode = (Node*)malloc(sizeof(Node));

pNewNode->pNext = nullptr;

 

memcpy(pNewNode, &stu, sizeof(student));

//头插法

if (g_pHead == nullptr)

{

g_pHead = pNewNode;

}

else {

pNewNode->pNext = g_pHead;

g_pHead = pNewNode;

}

}

那么问题来了,你的打印代码在哪里呢?

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632