28.12.2006, 15:04
общий
это ответ
Здравствуйте, Иванов Михаил Викторович!
Возможно устроит такой вариант.
Писал в блокноте, так что корректность не гарантирую, но думаю идея будет понятна.
char buff[100];//не меньше чем длина строки, не включаемая в выходной файл
char BadString[]="123";//строка, которую нужно исключить
int n,i;
/* определение файловых дескрипторов и открытие файлов */
while(fread(&ch, 1, 1, fp)) //читаем очередной символ
{
if(ch==BadString[0])
{
if(strlen(BadString)>1)
{
n=1;
buff[0]=ch;
while(fread(&ch, 1, 1, fp))
{
if(ch!=BadString[n])
{
fwrite(buff, 100, n, stream);
break;
}
else
{
buff[n]=ch;
n++;
if(n>strlen(BadString))
break;
}
}
}
}
else
fwrite(&ch, 1, 1, stream);
}