18.07.2019, 02:28 [+3 UTC]
в нашей команде: 3 747 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.77 (31.05.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
05.07.2019, 10:35

Последний вопрос:
17.07.2019, 20:23
Всего: 149931

Последний ответ:
17.07.2019, 11:40
Всего: 258703

Последняя рассылка:
17.07.2019, 22:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
19.05.2010, 09:31 »
Botsman
Огромное спасибо! Как всегда, вовремя, красиво и правильно! [вопрос № 178455, ответ № 261478]
25.05.2011, 13:49 »
lamed
Блестящая работа! Большое спасибо. Удачи smile [вопрос № 183184, ответ № 267368]
28.11.2010, 20:35 »
Миронычев Виталий
Спасибо вам огромное! Очень хороший ответ [вопрос № 180903, ответ № 264279]

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

solowey
Статус: Практикант
Рейтинг: 205
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 198
Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 142

Перейти к консультации №:
 

Консультация онлайн # 68919
Раздел: • С / С++
Автор вопроса: Иванов Михаил Викторович
Отправлена: 28.12.2006, 14:32
Поступило ответов: 3

Один файл пытаюсь переписать в другой посимвольно, но ести в файле fp встречается некоторая последовательность символов, например 123, то её не нужно записывать в файл stream.
Как это осуществить?

Приложение:

Состояние: Консультация закрыта

Ответ # 134043 от DarkDevil

Здравствуйте, Иванов Михаил Викторович!
Возможно устроит такой вариант.
Писал в блокноте, так что корректность не гарантирую, но думаю идея будет понятна.
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);
}


Консультировал: DarkDevil
Дата отправки: 28.12.2006, 15:04

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 134044 от Ramok

Здравствуйте, Иванов Михаил Викторович!

писано на коленке

Приложение:


Консультировал: Ramok
Дата отправки: 28.12.2006, 15:17

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Здравствуйте, Иванов Михаил Викторович!
Где-то так (см. приложение).
Но намного быстрее (особенно на больших файлах)
использовать функции поиска
(например strstr, если речь идет о строках) и сразу
записывать в файл stream все что встретилось
от одной до другой найденой последовательности.
Но это уже другой вопрос.

Приложение:


Консультировал: kool
Дата отправки: 28.12.2006, 23:59

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14299 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.77 от 31.05.2019
Версия JS: 1.34 | Версия CSS: 3.35