Как усеч нормально файл ?

Тема в разделе "Perl программирование", создана пользователем Stan777, 24 янв 2007.

Наш партнер Genesis Hackspace
Статус темы:
Закрыта.
  1. Stan777

    Stan777 Гость

    Нужно удалить пустое место за текстом как это лучше сделать? усекаю файл функцией truncate она оставляет много дерьма за собой. Что делать ?
     
  2. _serg_

    _serg_ Гость

    truncate усекает файл до заданного размера. она не смотрит есть ли там мустое место или нет
     
  3. Stan777

    Stan777 Гость

    Это уж точно, а мне нужно чтобы пробелы любой длины в конце текстового файла отрезались, что делать?, может у кого-то есть быстрый ответ :). Пока я думать не начал...
     
  4. Stan777

    Stan777 Гость

    я в книге рецептов нашел целых два способа решения этой задачи!
     
  5. _serg_

    _serg_ Гость

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

    а еще?
     
  6. Stan777

    Stan777 Гость

    А мне понравился вот такой прием:
    Код (Text):
    open(FH,"+<$old") or die "cant open $!\n";
    # определим размер и сделаем усечение файла.
    while(<FH>){
    $addr=tell(FH) unless eof(FH);
    }
    truncate(FH, $addr) or die "cant truncate $!\n";
    close(FH);
    exit;
     
Загрузка...
Похожие Темы - Как усеч нормально
  1. newbiee
    Ответов:
    1
    Просмотров:
    21
  2. jaguar
    Ответов:
    1
    Просмотров:
    78
  3. ghost
    Ответов:
    0
    Просмотров:
    60
  4. Rina
    Ответов:
    0
    Просмотров:
    45
  5. Z3T
    Ответов:
    0
    Просмотров:
    53
Статус темы:
Закрыта.

Поделиться этой страницей