|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
||||||
Повторное открытие файла29.05.2016, 19:20. Показов 9671. Ответов 59
Метки нет (Все метки)
пишу очередную учебную программу, и возник вопрос вопросов.
я открываю текстовый файл откуда построчно читаю фалы и считаю строки в которых встречается "wire" по кол-ву таких строк выделяю память в динамическом массиве и готовлюсь снова открыть файл и произвести запись в массив структур. проблема во втором открытие файла. компилируется все ок, но не срабатывает что то.
0
|
||||||
| 29.05.2016, 19:20 | |
|
Ответы с готовыми решениями:
59
Повторное открытие файла через классы
|
|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
|
| 29.05.2016, 21:48 [ТС] | |
|
Unknownx, отдельное спасибо за предложенные вариант, хм, то ли вечер и я туплю, то ли вечер и я туплю ))) но увы ) тож самое ))) не открывает второй раз файл
и еще вопрос. ну правда было бы оч оч интересно, кроме выделения памяти в конструкторе что еще плохого в моем коде? не, ну а че, мне жеж интересно
0
|
|
|
Заблокирован
|
||
| 29.05.2016, 21:50 | ||
|
DimaAvatar, рано тебе писать такие коды, рано(это моё мнение), почитай пару книжек по плюсам. Ты реально не понимаешь разницы между локальной и глобальной переменной, алоцирование памяти в конструкторе как и файловое чтение в конструкторе объекта - это зло в первой инстанции(ответ почему в тех же книжках)
Добавлено через 54 секунды Не по теме:
Добавлено через 59 секунд DimaAvatar, я не хочу тебя обижать напротив хочу помочь, но кроме того чтобы писать увы ты должен что либо читать из литературы, так как пишешь уже глупость за глупостью.
0
|
||
|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
|
| 29.05.2016, 21:51 [ТС] | |
|
Unknownx, да, я не внимательный. эм... ну тогда у меня единственный (правда уже второй вариант) 0 потому что эм.. несмотря на выделение памяти в векторе, она не занята ни какими данными? хотя.. эм, я бы все равно ожидал 5, а не 0 (
0
|
|
|
Заблокирован
|
|||||
| 29.05.2016, 21:54 | |||||
|
Добавлено через 1 минуту
0
|
|||||
|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
|
| 29.05.2016, 21:54 [ТС] | |
|
Unknownx, эм... я прочитал две книги, шилдта и лафоре, первого даже несколько раз. обижаться? ))) неее. я очоч оч рад, что у меня из этой темы столько мыслей для размышлений... в основном правда о бренности бытия и о том, какой я плохой студент... ну, что вот такой вот я студент (может и хотел бы свалить все на преподавателей и институт, но боюсь это сильно делу не поможет)
0
|
|
|
Заблокирован
|
|
| 29.05.2016, 21:56 | |
|
DimaAvatar, скажи ты не можешь собрать уже готовый проект из поста 34?Не понимаю в чём проблема?
0
|
|
|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
|
| 29.05.2016, 22:00 [ТС] | |
|
Unknownx,
а) count я уже сменил и сообщение о дампе я получил уже после этого б) с моим багажом... я буду слушать всех, это удел начинающих и это нормально. я кстати ни чего плохого в его советах не увидел. в)аааа size_t size() не видит vector< int > arr; если это так и вы проводите аналогию с local_count т.е. предалается вынести ее в поле класса? в свое оправдание могу лишь сказать, что она (Local_count) осталась внаследство от первой попытки написать программу, и тогда она и правда задумывалась как локальная. г) я так и не разобрался как отвечать с циитированием ))) но знайте я Вам оч благодарен )
0
|
|
|
Заблокирован
|
||||
| 29.05.2016, 22:07 | ||||
|
Не по теме: DimaAvatar, как говорят в медицине, я сделал, что от меня требовалось, далее уже дело пациента. Добавлено через 2 минуты
1
|
||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 29.05.2016, 22:10 | ||
|
1) Сделать дебаг-сборку. 2) Кнопочкой F10 выполнить одну строчку. Кнопочкой F11 - тоже самое, только с заскоком в потроха функции из этой строчки. 3) F5 - запустить программу до ближайшего бряк-поинта. 4) F9 поставить бряк-поинт. 5) В окошке справа зырить содержимое переменных. Вот так, двигаясь по шажочку, и разберетесь чего глючит. Плюс, указатели объявлять не как my_wire *array_wire_store;, а как my_wire *array_wire_store=nullptr;. Да, вот так внутри объявления класса и писать. В C++11 разрешили. Плюс, агрессивно распихивать assert по всем углам.
0
|
||
|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
|
| 29.05.2016, 22:11 [ТС] | |
|
Unknownx, Спасибо большое, за помощь и участие... мне нужно время понять что у Вас так сильно отличается от моего варианта. но да, если не копировать текст кода файла "wire.cpp" (что я сделал первый раз) а именно собрать из Вашего... работает. что меня радует как бэ... но и печалит то же )))
0
|
|
|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
|
| 29.05.2016, 22:18 [ТС] | |
|
братья, спасибо, Вы мне очень помогли... эм, моя коробочка переполненна... я если можно чз пару тройкау дней реанимирую тему, мне надо время собрать воедино... я вообще не быстро в программировании соображаю. жаль, ну ))) наверное у меня есть какие то другие положительные моменты )) еще раз спасибо...
Добавлено через 1 минуту Renji, отладчик QT м... это то, с чем да, мне предстоит разобраться, яуже пару раз пытался подступиться к этому зверю... но пока проект отладки пугает меня больше чем дед бабай в детстве.. (да чего уж там я и сейчас его побаиваюсь) Добавлено через 2 минуты Renji, "Плюс, указатели объявлять не как my_wire *array_wire_store;, а как my_wire *array_wire_store=nullptr;" а я указатель объявлял да? эм.. ну я по примеру делал типа int *temp=new int[N]; (тип указатель имя = new тип [размер]) а.... вы про объявление... ну да ))) я еще и в терминалогии могу запутаться... все понял хм, хотя я проверил... и my_wire*array_wire_store и my_wire * array_wire_store = nullptr; работают... в общем работают оба варианта )
0
|
|
|
Заблокирован
|
|
| 29.05.2016, 22:21 | |
|
DimaAvatar, прикрепи в тему wire.cpp я покажу что конкретно у тебя не так, прям по строчкам
0
|
|
|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
|||||||||||
| 29.05.2016, 22:25 [ТС] | |||||||||||
|
Unknownx, не подскажите, а почему в Вашем варианте... эм, array_wire_store = new my_wire[count]; то же в конструкторе?
Добавлено через 1 минуту wire.cpp (Ваш)
0
|
|||||||||||
|
Заблокирован
|
||||||
| 29.05.2016, 22:27 | ||||||
|
Не по теме:
Добавлено через 1 минуту
0
|
||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 29.05.2016, 22:28 | ||
|
1
|
||
|
Заблокирован
|
||||
| 29.05.2016, 22:29 | ||||
|
DimaAvatar, бери свой изначальный wire.cpp
array_wire_store = new my_wire[count]; далее всё ок. memmory_allocate убери к чёрту.
1
|
||||
|
Заблокирован
|
|
| 29.05.2016, 22:31 | |
|
Файлы когда просят прикрепляют вот так
0
|
|
|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
||||||
| 29.05.2016, 22:35 [ТС] | ||||||
|
Unknownx, чет я ни фига не понял.... и? я сделал как Вы сказали и заработало... так оно ж у меня уже было ??? чет я совсем потерялся.
0
|
||||||
|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
|
| 29.05.2016, 22:38 [ТС] | |
|
дааа я файлы то прикрепляю.. но эм, почему то с моими cpp форум не хочет работать, не подгружает их пишет - не корректный файл
0
|
|
|
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
|
|
| 29.05.2016, 23:00 [ТС] | |
|
Unknownx, ааааа
"ну опять же локалка" вы имете в виду что в моем изначальном варианте я локально просто вводил новую переменную и выделял для нее память, а потом пытался записать данные (но уже в др методе класса) в массив глобальный, для которого память не была виделена, т.к. я выделял ее для локального массива (хоть и с таким же именем) дааааа? Добавлено через 18 минут братья )) спасибо Вам еще раз. я тааакой довольный, как после первого секса ))) я прям влюбляюсь в форум, как тут много разных добрых людей которые объясняют мне все эти затырк, я ни когда не думал, что люди вот так вот будут отвечать и носиться со мной - посылаю Вам положительные эмоции чз космос. May the Force be with you.
0
|
|
| 29.05.2016, 23:00 | |
|
Почему после считывания матрицы из файла начинается повторное считывание?
Повторное открытие формы
Повторное открытие savefiledialog Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|