Показать сообщение отдельно

  #6  
Старый 24.05.2009, 16:37
ysmat
Познающий
Регистрация: 20.04.2006
Сообщений: 67
Провел на форуме:
170762

Репутация: -1
По умолчанию

не работает цикл поиска
задача найти в файле 1.bin байт E9
там он точно есть
однако цикл почему то работает безконечно
то есть прога просто виснет и все

Код:
#include <iostream>
#include <fstream>
using namespace std;

char buffer = 0;
int  counter = 0;
int  bufer0 = 0;
int  bufer1 = 0;
int  adres = 0;
const char filename1[] = "1.bin"   //имена файлов
const char filename2[] = "2.bin";


int main(void)
{                                                                                
fstream file1(filename1,ios::in);   //открываем файлы
fstream file2(filename2,ios::out);                                                                                     
file1.seekg(adres,ios::beg);        //начальная установка адреса чтения (0) чтение с начала файла
file2.seekp(adres,ios::beg);        //начальная установка адреса записи (0) запись с начала файла

 
 while(bufer0 != 233)               // цикл поиска байта 0xE9
 { 
 file1.seekg(adres);                // устанавливаем адрес   
 file1.read(&buffer,1);             // считываем содержимое по адресу в буфер 
 bufer0 = buffer;                   
 adres ++;                          // inc adres
 }                                  // зацикленно

                                    //закрыть файлы
file1.close();
file2.close();
return 0;
}
 
Ответить с цитированием