crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> как открыть файл, затем прочитать в нем выбранную строку и если программа даст сигнал то удалить эту строку не затрагивая другие?
eldar85
  опции профиля:
сообщение 11.4.2010, 0:00
Сообщение #1


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


проблема вот в чем - есть такая функция -
{
    QFile file("text.txt");
        if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
            return;

    int f=0;
    char mass[10][100];

        QTextStream in(&file);
        while (!in.atEnd()) {
           QString line = in.readLine();

            QByteArray ar = line.toAscii();
            char* sometext=ar.data();
   strcpy(mass[f],sometext);
   f++;
        }
        int nameAr = qrand()%10;
        text = mass[nameAr];  //QString text  //тут рандомно выбирается строка и если что именно эту строку нужно будет удалить
        qDebug() << text;
        file.close();
}

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

Сообщение отредактировал eldar85 - 11.4.2010, 0:02
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.4.2010, 5:16
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


eldar85, в файле нельзя удалить произвольную строку. Можно прочитать файл в некий буфер, удалить интересующую строку из буфера, затем сохранить буфер.

П.С. не понимаю нужды работать с массивом. Используй высокоуровневые контейнеры, в данном случае лучше всего QList<QString>. Тебе уже об этом говорили в другой теме
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 11.4.2010, 11:57
Сообщение #3


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


спосибо большое за советы, сейчас буду читать и пробвать эти высокоуровневые контейнеры))

я даже не знал о существовании QList, мне они нравятся))))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.4.2010, 16:16
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Тему разделил: Как удалить элемент из QList?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 22:21