• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы Stan777
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
S

Stan777

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

а еще?
 
А мне понравился вот такой прием:
Код:
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;
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab