c++ 读取文件(.dat), 并且储存 文件内容如下

15

Albert Einstein 52 67 63

Steve Abrew 90 86 90 93

David Nagasake 100 85 93 89

Mike Black 81 87 81 85

Andrew Van Den 90 82 95 87

Joanne Dong Nguyen 84 80 95 91

Chris Walljasper 86 100 96 89

Fred Albert 70 68

Dennis Dudley 74 79 77 81

Leo Rice 95

Fred Flinstone 73 81 78 74

Frances Dupre 82 76 79

Dave Light 89 76 91 83

Hua Tran Du 91 81 87 94

Sarah Trapp 83 98
应该是用getline 还是什么?

基本概念,是寻找字符,判断含义,分解提取。
你需要#include<stdio>
然后FILE*hand=fopen(...)见http://www.cplusplus.com/reference/clibrary/cstdio/fopen/

for语句加if判断,一个个字符检查,
用fseek SEEK_END和ftell获取文件长度
http://www.cplusplus.com/reference/clibrary/cstdio/fseek/
http://www.cplusplus.com/reference/clibrary/cstdio/ftell/


在这份文件里,字符分为五种:
如果用
unsigned char code;
fread(&code,1,1,hand);(http://www.cplusplus.com/reference/clibrary/cstdio/fread/
就会得到:
1.大写英文,65<=code<91,
2.小写英文,97<=code<123
3.数字,48<=code<58,
4.回车,code==13,
5.空格及其他,code==20或不符合上述任一。
其中,前三种,都是按英文字母顺序,和数字从小到大排列。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-20
文件内各行数据格式不完全相同,必须有统一的数据存储格式方可提取正确,比如每行各个数据字段之间用制表符分割,并且,如果文件并不是很大,建议一次性读取全部数据, 如果文件较大,建议单次读取适量数据。以减少IO操作次数,提高性能。
第2个回答  2011-08-26
用fscanf和fprintf就行了、
跟scanf和printf差不多的用法、
具体查MSDN、
第3个回答  2011-08-25
直接用read /write不就可以了吗?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网