蒸汽y 2023-06-20 19:36 采纳率: 50%
浏览 20

在C++采用ifstream读文件中,如何实现分段读一行的信息?

在C++采用ifstream读文件中,如何实现分段读一行的信息?
具体问题:我的txt文件每一行保存了一位学生的信息(姓名,学号,性别,年龄,籍贯,专业),如图。

img

我想将它们分别存到我定义的数组里面,即 s[0].name 保存学生姓名, s[0].num 保存学生学号等等。我采用的方法是:

 file >> s[i].name >> s[i].num >> s[i].sex >> s[i].chinese >> s[i].mathematic >> s[i].english

img

造成的结果是 s[0].name 存了第一个学生的所有信息, s[0].num 存了第二个学生的所有信息,没有分别进行存储,导致我显示学生信息时出现错误。

img

  • 写回答

1条回答 默认 最新

  • threenewbee 2023-06-20 19:44
    关注

    可以用fscanf(fp, "%s,%s, ...") 这样可以自动识别逗号分隔

    评论

报告相同问题?

问题事件

  • 创建了问题 6月20日

悬赏问题

  • ¥15 层次聚类和蛋白质相似度
  • ¥25 主成分分析中的第一第二主成分分别代表哪些参数
  • ¥15 oracle数据库查询语句问题
  • ¥15 有没有c++绘制算法的佬们吗救孩一下
  • ¥15 android 蓝牙闪退
  • ¥15 绝缘子污秽comsol仿真参数
  • ¥15 labelme生成的json有乱码?
  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
  • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时