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

Совет по работе с файлами - C++

Восстановить пароль Регистрация
 
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
22.05.2011, 21:27     Совет по работе с файлами #1
надо написать программу, которая считывает данные из текстового файла в структуру с 4-мя полями, типа однонаправленный список, а потом выполнять удаление\добавление\поиск элемента из списка, вывод списка.
с работой с элементами проблем нет, не знаю как считать из файла готовый список и как его задать в файле
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
22.05.2011, 21:37     Совет по работе с файлами #2
В файле не список задается, а только данные для элементов списка. Список создается только в памяти. В файл - не выводится.
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
22.05.2011, 21:51  [ТС]     Совет по работе с файлами #3
я понял, я имею ввиду как именно по полям считать данные?

желательно кодом написать)
B.Stroustrup
 Аватар для B.Stroustrup
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 7
22.05.2011, 22:07     Совет по работе с файлами #4
если у тебя нет проблем с реализацией списка, а именно с добавлением туда элементов, то думаю, что проблем не будет переделать стл вектор в свой список
C++
1
char file1[] = "c:/in.txt";
C++
1
2
3
4
5
6
struct pupil
{
    string name;
    int age; 
    float rating;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vector<pupil> Read(char file1[])//функция для формирования вектора из элементов структурного типа
{
    vector<pupil> V1;
    ifstream f2(file1);
    if (f2.is_open())
    {
        while (!f2.eof())
            {
                pupil temp;//временный объект
                f2>>temp.name;//считываение из файла до пробела
                f2 >> temp.age;
                f2 >> temp.rating;
                V1.push_back(temp);
            }
    }
   f2.close();
   return V1;
}
чтобы считывать построчно нужно использовать функцию
C++
1
getline(f2,temp.name);//если name это ФИО, все 3 слова запишутся в переменную string
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
23.05.2011, 01:17  [ТС]     Совет по работе с файлами #5
можно ли это реализовать без использования векторов?
B.Stroustrup
 Аватар для B.Stroustrup
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 7
23.05.2011, 17:08     Совет по работе с файлами #6
если у тебя нет проблем с реализацией списка, а именно с добавлением туда элементов, то думаю, что проблем не будет переделать стл вектор в свой список
вместо vector<pupil> V1; создаешь свой список

вместо V1.push_back(temp); функцию добавления эл-та в список,например, v1.add(temp);

Добавлено через 1 минуту
не думал что это вызовет затруднение
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2011, 22:23     Совет по работе с файлами
Еще ссылки по теме:

C++ Информация по работе с бинарными файлами
Ошибка при работе с файлами C++
C++ Дополнение к работе с файлами

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

Или воспользуйтесь поиском по форуму:
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
25.05.2011, 22:23  [ТС]     Совет по работе с файлами #7
C
1
2
FILE *f;
f=fopen("file.txt","r+t");
как построчно считать из файла 2 значения типа char и 2 значения типа long?

Добавлено через 18 часов 7 минут
подскажите же

Добавлено через 6 часов 26 минут
C++
1
2
3
4
char ST[80];
int j;
FILE *f;
f=fopen("file.txt","rt");
если file.txt содержит:
АБВГД
12345

как записать в ST - АБВГД а в j - 12345?
Yandex
Объявления
25.05.2011, 22:23     Совет по работе с файлами
Ответ Создать тему
Опции темы

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