Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 7
1

Плохо считываю файл или что то в этом роде

16.06.2019, 22:42. Показов 1213. Ответов 8
Метки нет (Все метки)

Здравствуйте. Проблема в том что у меня есть код который считывает из файла данные банкоматов и делает с ними разные вещи типа закидывает в двунаправленный список и другое. Проблема в том что когда я написал код у меня, на моем ноуте и других ноутах с которых я пробовал ошибки не возникает. Но вот человек который проверял говорит что у меня проблема с памятью при считывании файла. Я знаю что трудно копаться в чужом коде такого неумельца как я, но вот прошу посмотреть или скомпилировать у себя код (C++11), что не так в функции которой я считываю или хотя бы сказать в каком направлении двигаться. (Код с нужным файлом прикрепил)



Если что кидаю еще отдельно код функции с которой якобы у меня проблема

p.s Заранее извиняюсь за Польский язык

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
void readfile(string sciezka,dlistVar *L, int &liczba_bankomatow){
    struct dlistEl *p = (struct dlistEl*)malloc(sizeof(struct dlistEl));
   ifstream plik;
    plik.open(sciezka);
    string linia;
    plik >> liczba_bankomatow;
    p = new dlistEl[liczba_bankomatow];
    plik >> linia;
    string nb,cz,m,spr,b10,b20,b50,b100,b200;
           plik>>linia;
 for(int i=0; i<liczba_bankomatow; i++)
    {
        plik>>linia;
        istringstream ss(linia);
        getline(ss, nb, ';');
        getline(ss, cz, ';');
        getline(ss, m, ';');
        getline(ss, spr, ';');
        getline(ss, b10, ';');
        getline(ss, b20, ';');
        getline(ss, b50, ';');
        getline(ss, b100, ';');
        getline(ss, b200, ';');
    pushforlist(L, nb,cz, m,spr,b10,b20, b50, b100,b200);
 
 
 
    }
    plik.close();
 
}
0
Вложения
Тип файла: rar kod.rar (2.8 Кб, 3 просмотров)
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2019, 22:42
Ответы с готовыми решениями:

Скачал какой то файл оказался зловещий троян или что то в этом роде
Пытался проверить через утилиту Adwcleaner , но она зависает, а в диспетчере около программы...

Клавиатурный шпион или что-то в этом роде
Помогите написать программу, реагирующую на все нажатия клавиатуры в Windows и выполняющую...

Вирус в биос или что то в этом роде!
все просто! сразу после загрузки биоса вылазеет текстовое сообщение отправьте смс для получения...

массив массивов или что-то в этом роде
у меня есть число а -составное которое делится на b1,b2,...,bn; и в зависимости от bi надо...

8
4046 / 2295 / 958
Регистрация: 07.02.2019
Сообщений: 5,987
16.06.2019, 22:51 2
Цитата Сообщение от Hustman Посмотреть сообщение
что не так в функции которой я считываю
Зачем 2 и 7 строки?
1
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 7
16.06.2019, 22:54  [ТС] 3
Забыл убрать когда перерабатывал Они не нужны

Добавлено через 1 минуту
Забыл убрать когда перерабатывал Они не нужны
0
4046 / 2295 / 958
Регистрация: 07.02.2019
Сообщений: 5,987
16.06.2019, 22:55 4
так же во всех функция для работы со списком вы используете
struct dlistEl *p = (struct dlistEl*)malloc(sizeof(struct dlistEl)); но malloc не конструирует объект(просто память выделяет) а у вас структура нуждается в конструкторе
1
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 7
16.06.2019, 23:00  [ТС] 5
Окей, понял

Добавлено через 4 минуты
Так в этом ли есть главная проблема?
0
4046 / 2295 / 958
Регистрация: 07.02.2019
Сообщений: 5,987
16.06.2019, 23:01 6
Цитата Сообщение от Hustman Посмотреть сообщение
Так в этом ли есть главная проблема?
Не знаю, я не тестил ваш код, просто пробежался взглядом.
0
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 7
16.06.2019, 23:03  [ТС] 7
Понял, спасибо
0
4046 / 2295 / 958
Регистрация: 07.02.2019
Сообщений: 5,987
16.06.2019, 23:14 8
Лучший ответ Сообщение было отмечено Hustman как решение

Решение

Цитата Сообщение от zayats80888 Посмотреть сообщение
а у вас структура нуждается в конструкторе
Hustman, я коряво выразился, имелось ввиду, нужен вызов конструктора(из-за полей типа string), короче замените malloc/free на new/delete

Добавлено через 2 минуты
Еще заметил, что вы память то не освобождаете нигде
0
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 7
16.06.2019, 23:24  [ТС] 9
Блин действительно, я забыл совсем про это, наверное из-за этого. Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2019, 23:24

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Таблица зависимостей или что то в этом роде
Здравствуйте, я делают на малине &quot;ДЖАРВИСА&quot; ) сейчас занимаюсь модулем автоматики котла...

Объединение таблиц или что то в этом роде
есть запрос SELECT * FROM TABLE(некая_процедура(некий_айди)) Данный вопрос работает, выдает на...

Работа с перечислением или что-то в этом роде
Здравствуйте. В своём приложении на C# я работаю с перечислением. Выглядит это так: Само...

стили текста или что-то в этом роде
привет всем хоче спросить как организовать скрипт который изменяет стили текста при нажатии на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.