контейнер вектор записать в файл, помощь по Qt4 |
Здравствуйте, гость ( Вход | Регистрация )
контейнер вектор записать в файл, помощь по Qt4 |
registr |
16.11.2009, 18:48
Сообщение
#1
|
Участник Группа: Участник Сообщений: 115 Регистрация: 16.11.2009 Пользователь №: 1234 Спасибо сказали: 8 раз(а) Репутация: 1 |
Помогите пожалуйста, не знаю как записать в файл вектор а:
QVector<float> a; // далее определяю a // помогите дальше записать его в файл, например, в file.txt QVector<float> b; // а потом считать с него в вектор b |
|
|
registr |
18.11.2009, 16:35
Сообщение
#2
|
Участник Группа: Участник Сообщений: 115 Регистрация: 16.11.2009 Пользователь №: 1234 Спасибо сказали: 8 раз(а) Репутация: 1 |
Спасибо, попрубую сегодня с этим кодом.
Вот была еще такая идея считывания, где числа записывались через пробел в текстовый файл:
здесь фишка в том, что число записывается в num, а символ "пробела" в sym и все это прогоняется до конца файла. Но ошибка возникает в строчке: (in1 >> num >> char;) Видимо, он пытается считать сразу весь файл, а как ему задать, чтобы считал сначала число, символ, потом, число, символ, и т.д. по циклу? |
|
|
AD |
18.11.2009, 18:09
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
здесь фишка в том, что число записывается в num, а символ "пробела" в sym и все это прогоняется до конца файла. Но ошибка возникает в строчке: (in1 >> num >> char;) Видимо, он пытается считать сразу весь файл, а как ему задать, чтобы считал сначала число, символ, потом, число, символ, и т.д. по циклу? Блин, я нифига не понял из этого текста! При открытии файла НЕОБХОДИМО указывать как его следует открывать. Т.е. Вы открываете файл без лишних указаний (по-умолчанию, как бинарный), а читать пытаетесь как текстовый. Это первое, что бросается в глаза. Надо указывать флаг QIODevice::Text! Второе, насколько я помню, знак переноса строки используется вместе с возвратом каретки (по крайней мере, в данном случае). Поэтому лучше писать или так "\r\n", или так endl! |
|
|
Текстовая версия | Сейчас: 23.12.2024, 1:22 |