Форум программистов, компьютерный форум CyberForum.ru

Чтение из файла. - C++

Восстановить пароль Регистрация
 
maklai
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 58
29.04.2012, 13:04     Чтение из файла. #1
Здравствуйте всем)
Такая проблемка..не знаю как считать из файла линейный односвязный список..
вот такую функцию писал..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
date *read_baze(char *filename)
{
    fstream file(filename);
    while(!file.eof())
    {
        file>>cor->kol_kom;
        file>>cor->floor;
        file>>cor->plo;
        file>>cor->adress;
        cor=cor->next;
    }
    file.close();
    return cor;
}
не работает..вопрос а как тогда?!)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
andy_111
90 / 59 / 1
Регистрация: 03.07.2011
Сообщений: 148
29.04.2012, 13:20     Чтение из файла. #2
Привет! А этот односвязный список что из себя представляет - последовательность структур, сохраненных в файл?
Flamе
9 / 9 / 0
Регистрация: 25.10.2009
Сообщений: 152
29.04.2012, 13:30     Чтение из файла. #3
попробуй так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
date *read_baze(char *filename)
{
    date*cor;
    ifstream file(filename);
    date *a;
    while(!file.eof())
    {
        a=new date();
        file>>a->kol_kom;
        file>>a->floor;
        file>>a->plo;
        file>>a->adress;
        a->next=p;
        p=a;
    }
    file.close();
    return cor;
}
maklai
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 58
29.04.2012, 13:50  [ТС]     Чтение из файла. #4
Спасибо..за ответ)но почему тоже не читает..
вызываю ее я вот так
C++
1
date* cor=read_baze("baza.txt")
Цитата Сообщение от andy_111 Посмотреть сообщение
Привет! А этот односвязный список что из себя представляет - последовательность структур, сохраненных в файл?

А представляет он собой структуру
C++
1
2
3
4
5
6
7
8
9
10
11
struct date
{
    int kol_kom;
    int floor;
    int plo;
    char adress[15];
      struct date *next;
 
};
 
date* cor=NULL;
Flamе
9 / 9 / 0
Регистрация: 25.10.2009
Сообщений: 152
29.04.2012, 13:58     Чтение из файла. #5
а, просто у меня в структуре adress типа int был)
maklai
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 58
29.04.2012, 14:04  [ТС]     Чтение из файла. #6
Мне кажется это не суть..
смысл что функцию она проскакивает..как то)
до этого выдавало ошибку..инициализации..
изменил вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
date *read_baze(char *filename)
{
    date*cor=NULL;
    ifstream file(filename);
    date *a=NULL;
    date *p=NULL;
    while(!file.eof())
    {
        a=new date();
        file>>a->kol_kom;
        file>>a->floor;
        file>>a->plo;
        file>>a->adress;
        a->next=p;
        p=a;
        
 
 
    }
    file.close();
    return cor;
}
Flamе
9 / 9 / 0
Регистрация: 25.10.2009
Сообщений: 152
29.04.2012, 14:11     Чтение из файла. #7
но ведь у тебя cor так и остаётся равен NULL. надо возвращать p.
кстати если adress сделать char то тоже работает=)
вот
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
struct date{
int kol_kom;
int floor;
int plo;
char adress[15];
struct date *next;
};
date *read_baze(char *filename)
{
    date*p=NULL;
    ifstream file(filename);
    date *a;
    while(!file.eof())
    {
        a=new date();
        file>>a->kol_kom;
        file>>a->floor;
        file>>a->plo;
        file>>a->adress;
        a->next=p;
        p=a;
    }
    file.close();
    return p;
}
maklai
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 58
29.04.2012, 14:46  [ТС]     Чтение из файла. #8
Все равно проскакивает..и не читает..в файле информация представления вот так <<888822222565488>>..в чем проблема не пойму..
Flamе
9 / 9 / 0
Регистрация: 25.10.2009
Сообщений: 152
29.04.2012, 14:54     Чтение из файла. #9
Цитата Сообщение от maklai Посмотреть сообщение
Все равно проскакивает..и не читает..в файле информация представления вот так <<888822222565488>>..в чем проблема не пойму..
что-то не очень понятно что у тебя в файле.... у меня в файле так записано: "9 8 7 arrwawerftr"
первое поле kol-kom, второе floor, третье plo, и четвертое adress.
maklai
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 58
29.04.2012, 14:56  [ТС]     Чтение из файла. #10
У меня все так же только без пробелов)
вот в чем и ошибка я думаю)


теперь читает..)
создание "а" я перенес вне цикла...
Flamе
9 / 9 / 0
Регистрация: 25.10.2009
Сообщений: 152
29.04.2012, 14:58     Чтение из файла. #11
ааа, ну так да)) ведь оператор ">>" считывает до пробела)
maklai
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 58
29.04.2012, 15:00  [ТС]     Чтение из файла. #12
Flame, у меня есть еще пару вопросов ..если есть время то я их задам тебе))
Flamе
9 / 9 / 0
Регистрация: 25.10.2009
Сообщений: 152
29.04.2012, 15:09     Чтение из файла. #13
Цитата Сообщение от maklai Посмотреть сообщение
Flame, у меня есть еще пару вопросов ..если есть время то я их задам тебе))
задавай конечно)) я правда щас уйду, но позже, если смогу то отвечу))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2012, 15:16     Чтение из файла.
Еще ссылки по теме:

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. C++
Чтение файла с несколькими знаками конца файла C++
Чтение файла C++

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

Или воспользуйтесь поиском по форуму:
maklai
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 58
29.04.2012, 15:16  [ТС]     Чтение из файла. #14
Я тебе в ЛС напишу..)
Yandex
Объявления
29.04.2012, 15:16     Чтение из файла.
Ответ Создать тему
Опции темы

Текущее время: 01:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru