Название: QDataStream. Запись-чтение. Отправлено: Андрей от Февраль 28, 2012, 18:50 Не могу добиться, чтобы читалось из файла то, что записывал.
Пишу QChar - записывается сначала какой-то символ (пробел, похоже), потом нужный символ. Читаю - читается "ненужный символ". Запись: QString FileName = QFileDialog::getSaveFileName(WParent,tr("Save as...")); QFile File(FileName); bool opened = File.open(QIODevice::WriteOnly); if (!opened) return; QDataStream output(&File); output.setVersion(QDataStream::Qt_4_2); ..... ..... .... QChar str ='<'; Stream<<str; Чтение: QString FileName = QFileDialog::getOpenFileName(WParent,tr("Open")); QFile File(FileName); bool opened = File.open(QIODevice::WriteOnly); if (!opened) return; QDataStream input(&File); input.setVersion(QDataStream::Qt_4_2); ..... ..... .... QChar symbol; stream>>symbol; Название: Re: QDataStream. Запись-чтение. Отправлено: Странник от Февраль 28, 2012, 19:57 при чтении действительно открываете с флагом QIODevice::WriteOnly или это опечатка? % )
Название: Re: QDataStream. Запись-чтение. Отправлено: Андрей от Февраль 28, 2012, 20:42 Спасибо. Исправил.
Тогда ещё вопрос. В файл пишется много лишних символов, это плата за QDataStream? Название: Re: QDataStream. Запись-чтение. Отправлено: kambala от Февраль 28, 2012, 21:18 это плата за запись версии и объектов классов, а не чистых данных
Название: Re: QDataStream. Запись-чтение. Отправлено: kolob от Март 24, 2012, 01:32 Цитировать при чтении действительно открываете с флагом QIODevice::WriteOnly или это опечатка? % ) Я что то не очень понял. А в чем проблема в флаге QIODevice::WriteOnly? Название: Re: QDataStream. Запись-чтение. Отправлено: mutineer от Март 24, 2012, 01:39 Цитировать при чтении действительно открываете с флагом QIODevice::WriteOnly или это опечатка? % ) Я что то не очень понял. А в чем проблема в флаге QIODevice::WriteOnly? WriteOnly, как следует из названия, позволяет только писать |