![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
Как-то упустил я в свое время работу с файлами как потоками. Теперь догоняю.
Проблема следующая. Реализую работу по прямому доступу к файлу. Но в режиме ios::ate в файл: 1. не дописывается информация, а затирается (2005 студия) 2. дописывается, но после этого больше ничего нельзя ввести (как будто cin забит, хотя я вроде его сбрасываю) (VC++ 6) 3. записывается задом наперед ( Builder 6). ДЛя восстановления полседовательности: тискаем "создать файл" - append - вводим 5-ки, потом 3-ки пишет почему-то 5 - 3, хотя пишу в нужное место (упрорядоченное) Был бы рад услышать конструктивую критику по поводу данной проблемы. СУВ, Kuvaldis Вот код:
Эх, не знал, что у меня 800-ое сообщение будет таким грустным :( -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| vinter |
|
||||||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
вот тут не совсем понятно, ты тут со смещением ниче не напутал?
а вообще про блемы только в
или нет? |
||||||
|
|||||||
| Kuvaldis |
|
||||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
vinter,
Неа, тут все правильно. Потому что студия 2005 и вижуал 6 пишут правильно Но даже с
повторный вызов void AppendFile() не делает того, что нужно :( -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
||||
|
|||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
гмм...странно...файл затирается прямо при открытии...
при ios::app не затирается, но и позиция в файле почему то на нужную не изменяется... -------------------- СУВ, Partizan. |
|||
|
||||
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
JackYF,
ios::app пишет только в конец файла Мне же надо открыть файл для записи, но его не урезать и с возможностью писать в любое место. Поэтому и использую ios::ate Это сообщение отредактировал(а) Kuvaldis - 29.3.2007, 18:49 -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
не знаю че у вас там с позицией, а я последовательно три записи сделал и все ОК |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
=) vinter, что...и даже файл при открытии не затирается? )
-------------------- СУВ, Partizan. |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
не затирается |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
гммм...странно...у меня такой же код при первом вызове AppendFile его затирает...
-------------------- СУВ, Partizan. |
|||
|
||||
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
vinter,
Твой вариант стал работать в Visual 6. Если бы больше не работал в Bulder, списал бы все на время НО... не работает в 2005 студии Т.е. все пишется, но почему-то в конец файла, а должно в нужное место :( Это сообщение отредактировал(а) Kuvaldis - 29.3.2007, 19:04 -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
нет у меня все нормально(2003),даже несколько раз программу запускал, добавлял выходил, потом смотрел, короче все нормально
|
|||
|
||||
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
Записи должы выводиться отсортированными по AcctNum
Это сообщение отредактировал(а) Kuvaldis - 29.3.2007, 19:09 -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
вкурил походу про позицию, это если вводишь 2, то она должна вторую строку затереть?? если да то у меня тоже с позицией не работает, и не будет это работать надо файл перезаписывать снова, а в этом файле менять нельзя!
|
|||
|
||||
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
Идея такова:
есть файл с пустыми записями (на 100 эл-тов) ПО вводимому account я записываю в файл на позицию account новую запись. Поэтому при выводе файла все записи будут или заняты, или свободны. При последовательном (!) чтении файла и выводе его содержимого эл-ты должны (?) выводиться по возрастанию account (они так записывались, вставкой в нужное место) Это сообщение отредактировал(а) Kuvaldis - 29.3.2007, 19:15 -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |