FILE*One= fopen("1.txt", "rb"); // указывает на 1.txt
i=0;
while(!feof(One)){
if(i<a||i>number){
fin_1.getline(buff,30);
fout_2<<buff<<endl;
}
else{
fin_3.getline(buff,30);
fout_2<<buff<<endl;
}
i++;
}
Asked
Active
Viewed 52 times
0
Mikhajlo
- 12,592
1 Answers
3
Хотя вам подсказали, что вы читаете один файл, а проверяете другой... в любом случае проверка
while(!feof(file)) { ... }
неверна, потому что признак конца файла выставляется только после неудачной попытки чтения за концом файла.
Harry
- 221,325
-
когда feof имеет смысл вызывать выглядит как частый вопрос. Возможно имеет смысл в одном месте популярно с примерами изложить, а другие вопросы закрывать как дубликаты. – jfs May 26 '18 at 20:47
-
@jfs Имеет. Я когда-то такой вопрос-ответ написал было, налетела такая орава критиков, что счел за лучшее удалить и сам себе пообещал, что больше такого делать не буду. Делаю сегодня очередную (если не пройдет - уж точно последнюю....) попытку. – Harry May 27 '18 at 04:12
-
Стоит помнить, что правила для вопросов/ответов остаются те же, вне зависимости кто автор Каков порядок создания канонических вопросов?. Проблемы могут, конечно, и на пустом месте возникнуть. В таких случаях можно конкретный пример на Мете обсудить. – jfs May 27 '18 at 05:49
fin_1), а на достижение конца проверяете другой (One). – Arhadthedev May 26 '18 at 19:18как из этих потоков сделать один— выбираете какой-то из этих двух потоков и работаете только с ним. Второй при этом убираете как лишний. – Arhadthedev May 26 '18 at 20:17