Как удалить из файла строки с определнным номером?

Camillo

Новичок
Как удалить из файла строки с определнным номером?

Всем привет

Подскажите пожалуйста, как удалить из файла
строки с порядковым номером, например 10,11,12,13,14?

Спасибо!
 

sakon

П..и.н..ок
перезаписать файл без этих строк..
В чем проблема?
 

Camillo

Новичок
ну для начала наверное хотел бы спросить каким образом можно определить номер строки? ... кроме того, чтобы считать весь файл по строкам в массив а потом удалить ненужные строки из этого массива....
 

Camillo

Новичок
Автор оригинала: sakon
fgets
fwrite
С циклами сам разберешся?
Насчет fgets()...
Вот например, у меня строка всего несколько символов, а он будет считывать 1024 байта. Это значит, что он считает эту строку + немного от следующей строки? Или строка, по определению, занимает 1024 байта независимо от того какой она длины?
Был бы очень признателен за мини ликбез :)
 

sakon

П..и.н..ок
"fgets -- Читает строку из файла"
Неужели трудно взять и попробовать?
 

white phoenix

Новичок
PHP:
$fn = "./file.txt";
$a = file($fn);
$l = array(10,11,12,14);
foreach ($l as $v) {unset($a[$v]);}
$fp = fopen($fn,"w");
fwrite($fp,join(NULL,$a));
fclose($fp);
Это если надо именно записывать.
Похоже ликбез надо делать не маленький. [m]fgets[/m] читает строку из файла длиной в 1024 байта, если натыкается на \n, то останавливается. Размер 1024 указывает на то что если размер строки будет больше 1024 байтов, то функция распознает это как две строки. Что-то вроде лимита.
 

Frol

Новичок
white phoenix
вот ты дал ссылку на ман.
может сам сначала прочитаешь?
целиком, ага.
 

svetasmirnova

маленький монстрик
Ой как у вас всё запутано. Я, конечно, понимаю, производительность резко попадает, файлы гигабайтные, но чем [m]file[/m] -то не устроил?
 

Crazy

Developer
Я бы поставил вопрос даже иначе: а с чего возникла мысль удалять из файла строки вразнобой, да еще и по номеру? Есть мнение, что обычно это является следствием принципиальной кривизны в программе.
 

Frol

Новичок
white phoenix
тебе процитировать первый Note из твоей ссылки?
 

Фанат

oncle terrible
Команда форума
Frol, тут неоднозначный смысл
стоит попросить человека почётче обозначить, что 1024 - если будет указано.
и на том закрыть тему.
 
Сверху