• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Найти В Строке Символы С С1 По С2 В Ascii Коде

  • Автор темы craabpinguin
  • Дата начала
C

craabpinguin

Написать программу, осуществляющую замену в файле всех символов с кодами от C1 по C2 на пробелы.
Помогите пожалуйста!Вроде всё должно работать,но уходит почему-то в бесконечный цикл,заполняя весь файл пробелами в различных вариациях. :) Среда- freebsd
Код C
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
int main(void)
{
int fp,i
char c;
i=0
fp=open("1.txt",O_CREAT|O_RDWR);
while (c!=EOF)
{
read(fp,&c,1);
if ((c>1)&&(c<110))
{
if (c>32);
{
c='_';
}
}
write(fp,&c,1);
lseek (fp,i,SEEK_SET):
i++
}
close(fp);
return 0;
}


P.S. вроде все служебные символы не удаляются,думаю дело в смещении,но хз :(
 
C

craabpinguin

тема закрыта,мне уже помогли,могу выложить решение если интересно
 
R

rrrFer

ты считываешь символы с начала файла, а пишешь в конец, поэтому файл не заканчивается :)
можно считать весь файл в память, обработать и записать назад.
или перемещать каретку (позицию) записи.

Добавлено:
тема закрыта,мне уже помогли,могу выложить решение если интересно
а не заметил, но решение выкладывай - это не будет лишним для развития форума :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!