读书人

怎么循环读取文本文件的内容

发布时间: 2012-02-16 21:30:36 作者: rapoo

如何循环读取文本文件的内容?

我是想同时一行一行读两个文件,然后循环读

为什么只能读第一次


for(int i=1;i <3;i++)
{

ifs1.open(test1.txt);
ifs2.open(test2.txt);
while(getline(ifs2,str){
getline(ifs1,str1);
........
}



[解决办法]
你这样的写法
一旦test2.txt的内容读完了,循环退出
就不会在读test1.text的内容
[解决办法]
这样试试
while(getline(ifs2,str)) && getline(ifs1,str1){

}

如果两个文件行数一样的这样是可以的
[解决办法]
文件比较?
不一样的话,比较结果不就出来了嘛
最外层的循环是什么意思啊?反复比较3遍吗?
不然应该把fopen放在循环外面吧?
[解决办法]
ifstream ifs1;
ifstream ifs2;
string str1;
string str2;
ifs1.open( "d:\\11.txt ");
ifs2.open( "d:\\22.txt ");
bool flag1 = true;
bool flag2 = true;
while(flag1 || flag2)
{
if(flag1)
{
if (ifs1.eof())
flag1 = false;
else
getline(ifs1, str1);
}

if(flag2)
{
if (ifs2.eof())
flag2 = false;
else
getline(ifs2, str2);

}
// 比较时要根据flag1和flag2判断文件是否读完
// ....
}

读书人网 >C++

热点推荐