荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: franky (斌), 信区: Program
标 题: Re: 再问一次关于读入数据的问题
发信站: 荔园晨风BBS站 (Sun Apr 16 18:32:25 2006), 站内
注意你的成员是串 string, 她的实现比较复杂的,我不知道直接用fstream
写是否会有问题。
写的时候还是用我刚刚说的方式写吧,现在用 fstream 把她读出来。
std::fstream stFstrTmp("filename");
if( stFstrTmp.fail() ) //如果文件没有打开
{
std::cout<<"open file failed"<<std::endl;
exit(1);
}
std::vector<A> vstATmp;
while( stFstrTmp.eof() )
{
char szTmp[256]; //用来保存第一个成员变量,临时用的
char szTmp2[1024]; //保存第二个成员变量
stFstrTmp.getline( szTmp,256,'\t' ); //读第一个成员,知道为什么开始写的时候
//为什么要隔开了,因为读的时候,你要知道从哪里截至的。
if( strlen(szTmp)==0 ) //这里还是读文件的问题,其实 .eof()和 feof()函数一样
break; //这里是可能读道文件尾了,再多读一次。
stFstrTmp.getline(szTmp2,1028 );//getline函数第三个参数默认为'\n',即此函数
//默认读一行,也就是读到'\n'止,但我们可以自己给她定,比如我们第
//一次调用我们让他只读到 '\t'就截止。
vstATmp.resize(vstATmp.size()+1); //扩容
(vstATmp.end()-1)->B = atoi(szTmp); //用了向量的迭代器和第一个效果一样
(vstATmp.end()-1)->C = szTmp2;
}
【 在 terryfeng (7UP) 的大作中提到: 】
: 我就是 用fstream读写的,但是出问题了....写没有问题,就是读的时候出错
: 【 在 starsun (法克斯尼) 的大作中提到: 】
: : fstream是可以整个对象读写...比你这个方法好得多...
--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.1.92]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店