2 logo0819 logo0819 于 2015.05.28 17:55 提问

c++ 问题 怎么文本文件中读取特定行的数据进行排序?
c++

图片说明例如我的文件保存格式是这样的:
图片说明
怎么得到科研时间 和排名的数据

4个回答

91program
91program   Ds   Rxr 2015.05.28 19:07
已采纳

行的结束符是回车换行,即 0x0D 0x0A
想读取一行,最简单、原始的方法就是一个字符一个字符读,然后判断是否是回车换行?如果是,则一行结束;否则继续读。

先将数据读取到结构体中,然后想怎么处理就与文件没有关系了。处理完后,再写入文件。

gamefinity
gamefinity   Rxr 2015.05.28 18:45

需读:读而不用。一行一行读下去,读到你要的,进行处理。

u012377333
u012377333   Rxr 2015.05.28 18:54

这个地方举个例子,将所有的关于的信息读入一个结构体数组或者是链表中,对于里面的数据进行排序就可以了

u010209218
u010209218   2015.05.28 20:12

就按你写的文字来看,先定义一个学生考勤的数据结构,譬如
class Attendence{
unsigned int Student_ID;
string Name;
string ArriveTime;
string LeaveTime;
unsigned int WorkingTime;
unsigned int RankNum;
};
vector AttendenceTable;

然后打开文件
ifstream in("outfile.txt");
一行行的读
while(getline(in, str))
{
sscanf()/strstr等函数解析每行并存入相应的结构加入AttendenceTable
}
最后sort排序,参考http://blog.csdn.net/pathuang68/article/details/7526381

logo0819
logo0819 好的 谢谢你 终于有一个懂我意思的拉
2 年多之前 回复
u010209218
u010209218 vector <Attendence>AttendenceTable;这行不知道怎么写错了,就那么回事,多上网查
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片