Рейтинг:
12
OriginalGriff
Вот и вся идея - за исключением одного бита: - Вы читаете две строки из а, одну из Б, одну из А,...
1) Open File1 for reading
2) Open File2 for reading
3) Open File3 for writing
4) Loop
4.1) If File1 not at end then
4.1.1) Read line from file 1
4.1.2) Write to File3
4.2) If File2 not at end then
4.2.1) Read line from file 2
4.2.2) Write to File3
4.3) Continue loop until File1 and File2 are at the end.
5) Close file1
6) Close File2
7) Close File3
8) Open File3 for reading
9) Loop
9.1) If File3 at end then
9.1.1) break out of loop
9.2) Read line from File3
9.3) Write to console
9.4) Continue loop forever.
10) Close File3
Member 13515374
спасибо, но я пробовал это, но это не совсем правильно . можете ли вы, пожалуйста, проверить?
#include<fstream.h>
#include<conio.h>
#include<stdio.h>
#include<process.h>
void main()
{
char name1[40] , name2[40];
char line1[100] , line2[100];
fstream f1,f2,f3;
cout<<"enter name of file 1"<<endl;
gets(name1);
cout<<"enter name of file 2"<<endl;
gets(name2);
f1.open(name1,ios::in);
f2.open(name2,ios::in);
f3.open("file3.txt",ios::out);
if(!f1)
{
cout<<"error"<<endl;
exit(1);
}
while((!f1.eof()) && (!f2.eof()))
{
if(f1.eof())
break;
f1.getline(line1,100);
f3.write(line1,100);
if(f2.eof())
break;
f2.getline(line2,100);
f3.write(line2,100);
}
f1.close();
f2.close();
f3.close();
f3.open("file3.txt",ios::in);
char line[100];
while(!f3.eof())
{
if(f3.eof())
break;
f3.getline(line,100);
cout<<line;
}
f3.close();
}
/*if(!f2)
{
cout<<"error"<<endl;
exit(1);
}
if(!f3)
{
cout<<"error"<<endl;
exit(1);
}
while((!f1.eof()) && (f2.eof()))
{
f1.getline(line1,100);
f3<<line1;
f2.getline(line2,100);
f3<<line2;
}*/
// getch();
OriginalGriff
Поэтому разбейте отладчик и начните смотреть на то, что именно он делает.
Помните, что у меня нет доступа к вашим файлам данных, и поэтому я не могу сказать, что он делает, чего вы не ожидаете, или не делает, что вы делаете! :смеяться:
Patrice T
Вы должны были использовать Улучшить вопрос чтобы обновить ваш вопрос.
Member 13515374
ха-ха, конечно, я проверю еще раз. но с кодом все в порядке. не так ли?
OriginalGriff
Ну, я бы так не писал, но это должно сработать. Там довольно много избыточного кода...
Member 13515374
да. ладно...спасибо
OriginalGriff
Всегда пожалуйста!