Вы должны открывать и закрывать первый файл в каждой итерации цикла.
....
for(i=1; i<=5; i++)
{
if((fp1=fopen("One Dollar.jpg", "rb"))==NULL)
{
cout<<"Error";
exit(-1);
}
....
Причина в том, что в конце первой итерации первый указатель файла находится в конце файла, поэтому он не увидит никаких данных на второй итерации. Вы должны закрыть и снова открыть файл (ИЛИ вы можете использовать seek
, чтобы перейти к началу файла, но это более простое изменение, поскольку его копирование и вставка)
РЕДАКТИРОВАТЬ: к новому вопросу:
вам нужно сбросить поток строк. Во второй итерации вы пытаетесь открыть
C:\\5241 Dollar\\One Dollar 1.jpgC:\\5241 Dollar\\One Dollar 2.jpg
, что недействительно.
Одним из решений является введение объявления ostringstream в цикл:
....
for(i=1; i<=5; i++)
{
if((fp1=fopen("One Dollar.jpg", "rb"))==NULL)
{
cout<<"Error";
exit(-1);
}
ostringstream oss;
oss << "C:\\5241 Dollar\\One Dollar " << i << ".jpg";