Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
maklai
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 58
#1

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

29.04.2012, 13:04. Просмотров 703. Ответов 13
Метки нет (Все метки)

Здравствуйте всем)
Такая проблемка..не знаю как считать из файла линейный односвязный список..
вот такую функцию писал..
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;
}
не работает..вопрос а как тогда?!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2012, 13:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из файла. (C++):

Переделать в коде чтение из файла в чтение с клавиатуры - C++
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл должен начинаться со слова, между...

Чтение из файла. Повторное чтение файла - C++
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае некорректного ввода их в оный. Вот...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include<iostream> #include<fstream> #include<locale.h> #include<iomanip> #include <cstdlib> using namespace std; struct...

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется - C++
Формат файла состоит из 3 структур и одной переменной. Подробное описание формата во вложении, просьба посмотреть его. У меня возникла...

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

Чтение файла с несколькими знаками конца файла - C++
В файле несколько раз встречается ноль, и ни как не получается прочитать его полностью. Как можно решить данную проблему ?

13
andy_111
90 / 59 / 2
Регистрация: 03.07.2011
Сообщений: 148
29.04.2012, 13:20 #2
Привет! А этот односвязный список что из себя представляет - последовательность структур, сохраненных в файл?
0
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;
}
0
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;
0
Flamе
9 / 9 / 0
Регистрация: 25.10.2009
Сообщений: 152
29.04.2012, 13:58 #5
а, просто у меня в структуре adress типа int был)
0
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;
}
0
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;
}
1
maklai
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 58
29.04.2012, 14:46  [ТС] #8
Все равно проскакивает..и не читает..в файле информация представления вот так <<888822222565488>>..в чем проблема не пойму..
0
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.
0
maklai
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 58
29.04.2012, 14:56  [ТС] #10
У меня все так же только без пробелов)
вот в чем и ошибка я думаю)


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

чтение из файла - C++
Здравствуйте, уважаемые программисты. Есть файл с записями (объектами), у каждой записи 3 параметра (переменные). Я считываю запись,...

Чтение файла - C++
Доброго времени суток. Пишу программу которая может читать каждый символ файла. #include&lt;iostream&gt; #include&lt;fstream&gt; ...

чтение из файла - C++
файл текст... чтение... ... char font_name = {0}; int font_size = 0;

Чтение из файла - C++
Помогите дописать код чтения из файла. За ранее спасибо. void MyList::save() { Sotrydnik sSotrydnik; ofstream F; ...


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

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

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