&岁月在流逝 2021-06-18 22:02 采纳率: 50%
浏览 55
已结题

读取文件的时候用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;

}

}

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-06-18 22:14
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月17日
  • 已采纳回答 7月9日