crossplatform.ru

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

> Как в QDataStream указать разделитель при считывании файла?, (delimiter, token)
Rocky
  опции профиля:
сообщение 10.12.2010, 20:01
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

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




Репутация:   7  


Вот решил переписать код
bool CProjectSettingsDlg::Open(const QString& sFileName)
{
    std::string sFileNameStd = sFileName.toStdString();
    std::ifstream file(sFileNameStd.c_str());
    if (!file.is_open())
    {
        QMessageBox::critical(this, m_pMessage->GetMessage2(eHeader), m_pMessage->GetMessage2(eErrorOpenFile));
        return false;
    }
    
    char szBuf[512];
    file.getline(szBuf, 512, '|'); m_pProjectSettings->m_sRegionName = szBuf;
    file.getline(szBuf, 512, '|'); m_pProjectSettings->m_sSettlementName = szBuf;
...............

через QDataStream. И тут же столкнулся с проблемой, что непонятно, как задавать разделитель потоку? И можно ли это вообще сделать? Или нужно не этот класс брать? Т.е. я не знаю сколько байт мне считывать... я должен считать данные от "|", до "|". Как лучше всего это сделать?

Спасибо!

Сообщение отредактировал Rocky - 10.12.2010, 20:02
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
SABROG
  опции профиля:
сообщение 10.12.2010, 21:04
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Можно использовать метод QString QTextStream::readLine ( qint64 maxlen = 0 ) + QString::split()

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




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