Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как удалить определенный текст с файла?

Страниц (1): [1]
 

1. zaxlex - 20 Ноября, 2019 - 11:45:55 - перейти к сообщению
Здравствуйте. Собственно сабж. Мне нужно записать в переменные типа стринг слова из первой строчки файла, а потом удалить эту первую строчку и сохранить файл. То бишь чтобы вторая строчка после работы Кибора стала первой. Подскажите - как я могу это сделать?
2. Zireael - 20 Ноября, 2019 - 17:03:46 - перейти к сообщению
CODE:
// файл должен быть в кодировке ANSI
string s=del("C:\123.txt"); // передаём в функцию путь к файлу, возвращает удалённую строку
messagebox("Удалённая строка: "+s);


function del(string path_to_file)
{
string s, s2;
char c[999999];
if(fopen(path_to_file, "rb")) // если файл открылся для чтения
{
int count_symbol=freadb(#c[0], sizearray(c))-1; // прочитать весь файл в массив
fclose(); // закрыть файл

if(count_symbol) // если файл не пустой
{
regexsearch(1, #s, format(#c[0], count_symbol), "[^\r\n]+"); // найти первую строку
regexreplace(1, #s2, format(#c[0], count_symbol), s+"([\r\n]+)?", ""); // удалить строку
strcpy(#c[0], s2); // скопировать получившуюся строку в массив
if(fopen(path_to_file, "wb")) // если файл открылся для записи
{
fwriteb(#c[0], size(#c[0])); // записать в файл содержимое массива
fclose(); // закрыть файл
}
else messagebox("Файл не открылся для записи");
return s;
}
else messagebox("Файл пуст");
}
else messagebox("Файл не открылся для чтения");
return "";
}

Powered by ExBB FM 1.0 Final