|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
||||||||
Открытие файла09.08.2012, 20:05. Показов 7332. Ответов 92
Метки нет (Все метки)
У меня есть файл в котором сначала хранится количество наименований файлов,а потом названия файлов
пример
2!
1.txt! 2.txt! ! используются как разделители Как именно открыть файл,чтоб данные не стёрлись,но я мог например перместиться в начало файла и записать новое кол-во файлов,стерев старое. тут пример того,как я открываю файл,записываю новое кол-во файлов и дописываю в конец названия,однако на деле ф вайле лишь 0! и всё
на данный момент у меня не получается записать данные о новом количестве файлов и дописать новые названия Добавлено через 16 часов 43 минуты
0
|
||||||||
| 09.08.2012, 20:05 | |
|
Ответы с готовыми решениями:
92
Как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? Открытие файла Открытие файла |
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
|
| 10.08.2012, 01:13 [ТС] | |
|
у меня в файле будут названия файла с различной длиной
я могу после каждого слова делать переход на следующую строку,а вот как мне найти эти переходы
0
|
|
|
|
||||||
| 10.08.2012, 01:20 | ||||||
|
Да не нужны никакие переходы в бинарнике...
Отводи под путь допустим 256 символов ( ну или сколько там MAX_PATH )
0
|
||||||
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
||||||
| 10.08.2012, 04:16 [ТС] | ||||||
|
в принципе вариант,хоть и не самый рациональный
всё равно спасибо всем кто отписался Добавлено через 2 часа 50 минут Вот моя нынешняя функция,проблема возникает при записи названия в файл
0
|
||||||
|
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 623
|
|
| 10.08.2012, 04:51 | |
|
Я совершенно не пойму что делает программа, может и правда стоит произвести очень четкое разграничение, что делать при записи файлов, а что при чтении. Или по крайней мере в отдельную функцию запихнуть с осмысленным названием.
По 80 строке у меня есть подозрение, что синтаксис функции write() таков write( char * customString, long lenOfCustomString) http://www.cplusplus.com/refer... eam/write/ А вы зачем-то передаёте ей размер указателя на char
0
|
|
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
||||||
| 10.08.2012, 05:09 [ТС] | ||||||
|
даже,если сделаю так,то всё равно результат тот же
0
|
||||||
|
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 623
|
|
| 10.08.2012, 05:16 | |
|
alexey31415, а вы попробуйте во втором параметре strlen(NameOfFiles[i])
0
|
|
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
|
| 10.08.2012, 05:21 [ТС] | |
|
согласен ошибка глупая,не заметил в спешке,но всё равно проблема та же
0
|
|
|
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 623
|
|
| 10.08.2012, 05:24 | |
|
Тогда не знаю. Попробуйте отладочную информацию выводить или даже сразу отладчиком пользоваться, а можно и то и другое
0
|
|
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
|
| 10.08.2012, 05:26 [ТС] | |
|
я и так отладчиком пользуюсь,вылетает ошибка необработанное исключение в ... и идёт адрес блока памяти
0
|
|
|
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 623
|
|
| 10.08.2012, 05:30 | |
|
А можно чисто ради интереса дать этот самый пример входного файла. И что там за заголовки в stdafx?
0
|
|
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
|
| 10.08.2012, 05:36 [ТС] | |
|
в коде предусмотрен вариант когда файла ещё нет,он создаётся,туда записываётся 0(кол-во названий),потом я ввожу название и он записывает название,предварительно записав новое кол-во файлов(1)
вот поэтому файла нет Добавлено через 3 минуты ах да,почему-то не записываются данные при создании файла(если он не был создан) должен быть записан 0,а там пусто
0
|
|
|
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 623
|
||||||
| 10.08.2012, 05:42 | ||||||
|
Ну так как ясень пень, что здесь нулевой элемент никогда не будет инициализрован
1
|
||||||
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
||
| 10.08.2012, 05:44 [ТС] | ||
|
файл выглядеть должен примерно так 2//это кол-во названий файлов 1.txt//сами названия 2.txt и так далее
0
|
||
|
|
|
| 10.08.2012, 12:55 | |
|
Пример сразу с seek() http://www.cplusplus.com/refer... eam/write/
0
|
|
| 10.08.2012, 13:51 [ТС] | |
|
0
|
|
|
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 623
|
|
| 10.08.2012, 22:01 | |
|
Ошибку, что я привёл, исправили хотя бы?
Зачем вообще эти seek? Может стоит просто тупо считать весь файл в какой-нибудь список файлов? Все равно при записи в начало файла необходимо считать его в оперативную память, изменить начало строки и только потом производить запись. А считывать построчно при помощи банального std::getline(fstream, filename). Вон, зайди в папку system32, там тысячи файлов, но проводник ведь не вылетает из-за нехватки памяти. Можно ещё, как вариант, зарезервировать первые 10 байт под хранение кол-файлов, и если в середине файла ничего не менялось, то тупо переписывать именно первые 10 байт, в которых указывать новое кол-во файлов. Этот алгоритм можно также распространить и для файлов в середине списка, но это не стоит того, имхо
0
|
|
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
||
| 10.08.2012, 22:35 [ТС] | ||
|
теперь данные записываются,спасибо,но я выделяю для каждого названия массив из 32 байтов,а названия могут быть и короче,поэтому когда я открываю созданный файл,то выводится следующее
0
|
||
|
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
|
||||||||||||
| 10.08.2012, 23:24 [ТС] | ||||||||||||
|
вот собственно функция
в 81 строке
0
|
||||||||||||
|
|
||||||
| 11.08.2012, 00:22 | ||||||
1
|
||||||
| 11.08.2012, 00:22 | |
|
Открытие файла на C++ Открытие файла. открытие файла
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли
Введение: Экологический рынок как игра с нулевой суммой
Традиционная экология долгое время. . .
|
|
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ
Введение: Синдром «цифрового учебника»
Современные большие языковые модели (LLM) обладают колоссальным. . .
|
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос.
Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех.
А широколиственный лес тоже имеет самую крутую биомассу.
То почему не возникло их симбиоза? Это. . .
|
сукцессия 6. Питон реализация энилоджиковской модели, картинка про Центральную часть будущей модели
anaschu 26.06.2026
Етить. ИИ мне на основе моего старого файла R создал вот эту вот хмерь на пайтоне.
Это уже новая модель, модель сукцессии грибной.
потоки фосфора, азота. Углерода.
5 видов организмов.
Я даже. . .
|
Как замкнутый ядерный цикл решит проблему недостатки фосфора? Био миграция фосфора со дна океана
anaschu 26.06.2026
Биологический лифт: Концепция подъема фосфора со дна океана с помощью ЗЯТЦ
Предлагаю на обсуждение альтернативу тяжелому промышленному бурению океанического дна. Вместо сложной инженерии мы можем. . .
|