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

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

悬赏问题

  • ¥40 微信小程序 使用vant组件ActionSheet 下拉面板,内容区域滚动会触发。scroll-view自定义下拉刷!即使设置停止下拉刷新也不行。
  • ¥15 专业问题提问,7月5号2点之前
  • ¥25 使用cube ai 导入onnx模型时报错
  • ¥15 关于#微信小程序#的问题:用一个网页显示所有关联的微信小程序数据,包括每个小程序的用户访问量
  • ¥15 root的安卓12系统上,如何使apk获得root或者高级别的系统权限?
  • ¥20 关于#matlab#的问题:如果用MATLAB函数delayseq可以对分数延时,但是延时后波形较原波形有幅度上的改变
  • ¥15 使用华为ENSP软件模拟实现该实验拓扑
  • ¥15 通过程序读取主板上报税口的数据
  • ¥15 matlab修改为并行
  • ¥15 尝试访问%1服务的windows注册表时遇到问题。必须先解决此问题,然后才能运行安装过程。(请确认您正在使用管理员权限运行)373