C++中 文件输入输出流 如何对数据进行排序和整行移动?

比如说我有三组数据姓名学号物理化学henty1233219599henry4566549898Henty1236549779这些数据是存在f1.txt文件里的我现在需要做... 比如说 我有三组数据

姓名 学号 物理 化学
henty 123321 95 99
henry 456654 98 98
Henty 123654 97 79
这些数据是存在f1.txt文件里的
我现在需要做的就是分别按照 学号 物理 化学 给这三组数据排序
(学号的排序方式又有不同 前三个数是班级 后三个数是位置。先按班级排 后按位置排)
并将排序的结果存入f2.txt文件里面
我应该如何实现呢?
我的问题主要集中在
1、如何分别将一行中的数据分别存入不同的数组 如int i【】 string
2、如果排序的结果出来了 我怎么整行移动它们 存入 f2.txt 呢?
展开
 我来答
72608104
2015-01-23
知道答主
回答量:28
采纳率:0%
帮助的人:12.8万
展开全部
数据存入结构体数组中,然后分别按学号、物理、化学直接按顺序排出来。学号不用考虑什么前三个后三个的,你自己举上几个例子就看出来了。整行移动是啥意思??一行一行输出吗?用“\n”啊。
追问
就是比如按照物理排序是231的顺序
我需要把原来的1、2、3行 以2、3、1的顺序在f2.txt里排列。
学号是题目希望我实现这样的功能的,所以我才会想要用数组存放学号
请问这样应该怎么办呢?
追答
按学号大小排序就可以实现啊,你是刚开始学C吧!
道理和数组排序一样,一个数组排序完后数据顺序就变了啊,你把结构体数组就看成数组就懂了
匿名用户
2015-01-23
展开全部
struct stu{
string name;
long id;
float fh;
float ex;
}
vecotr<stu> data;
stu temp;
ifstream in("f1.txt");
while(in.feof()){
in>>temp.name>>temp.name>>..
data.push();
}...
追问
请问data.push();和vecotr data;是啥作用?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式