怎么循环读取文本文件的内容
如何循环读取文本文件的内容?
我是想同时一行一行读两个文件,然后循环读
为什么只能读第一次
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判断文件是否读完
// ....
}
我是想同时一行一行读两个文件,然后循环读
为什么只能读第一次
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判断文件是否读完
// ....
}