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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
#1

Считать данные из файла в конструкторе С++ - C++

02.06.2011, 19:27. Просмотров 1525. Ответов 11
Метки нет (Все метки)

Здравствуйте программисы, прошу помощь.

Имееться код программы.
Хочу сделать инициализацию данных из файла, в файле имена и телефонные номера. Как это сделать в конструкторе?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Конструктор
 
List < NODETYPE >::List()
 : firstPtr(0), lastPtr(0)
{
 
 ifstream File_db( "db_tel.txt", ios::in);
 
 if(!File_db)
 {
 cerr << "File coult not be opened!\n" << endl;
 exit(1);
 }
 
 // нужный код
 
 File_db.close();
 
} // конец конструктора List
Данные нужно занести в
tempPtr->data_fio - имя
и
tempPtr->data_tel - номер

думал может как то так сделать?

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
// конструктор по умолчанию
template < typename NODETYPE >
List < NODETYPE >::List()
 : firstPtr(0), lastPtr(0)
{
 
 ifstream File_db( "db_tel.txt", ios::in);
 
 if(!File_db)
 {
 cerr << "File coult not be opened!\n" << endl;
 exit(1);
 }
 
 ListNode < NODETYPE > *currentPtr = firstPtr;
 ListNode < NODETYPE > *tempPtr;
 
 while( getch() != EOF )
 {
 tempPtr = currentPtr;
 File_db >> tempPtr->data_fio >> " ";
 File_db >> tempPtr->data_tel >> '\n';
 currentPtr = currentPtr->nextPtr;
 
 } // конец while
 
 File_db.close();
 
} // конец конструктора List
Но что то не то...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2011, 19:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считать данные из файла в конструкторе С++ (C++):

Как считать из файла текст в виде последовательности битов? - C++
Пишу курсовую: реализация алгоритма СRC32. Надо считать текст из файла (в файле текст из слов) так, чтобы получилась последовательность...

Считать данные из таблицы в doc файла - C++ Builder
Добро всем! :senor: У меня возникла задача считать данные из таблицы которая в документе world, на фото таблица. С doc фалами у меня...

Как считать данные из файла в определенной структуре? - C++ Builder
Доброго времени суток... написал для двух кнопок код одна добавляет человека тоесть &quot; его фамилию дату время&quot; хранит все в структуре,...

Тип String: считать данные из файла в массив строк - C++ Builder
Есть файл с текстом вроде {10;название1;8;заметка} {5;название4;99;много строчный текст заметки} {4;название7;11;много ...

Считать из файла данные, чтобы подсчитать сумму букв и цифр по отдельности - C++ Builder
Как считать с файла данные, что б подсчитать суму в нём букв и цыфр по отдельности, как находить сумму я знаю, а вот что б именно оно...

Считать данные из файла, строки с символом ";" - разбить - C++ Builder
Программа должна считать данные из файла, строки с символом &quot;;&quot; разбить: (Пример) &quot;Hello;World !&quot; = &quot;Hello World !&quot; А затем...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
02.06.2011, 20:06 #2
Это
File_db >> tempPtr->data_fio >> " ";
Вообще что?
Контретнее ЭТО File_db >> tempPtr->data_fio >> " "; вообще что?

И на вопрос "Как это сделать в конструкторе?", я настоятельно рекомендую не делать так в конструкторе.
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
02.06.2011, 20:50  [ТС] #3
Цитата Сообщение от Deviaphan Посмотреть сообщение
И на вопрос "Как это сделать в конструкторе?", я настоятельно рекомендую не делать так в конструкторе.
Благодарю за ответ. Но вот как тогда мне из файла данные занести в программу.
Сам код программы тут : Односвязный список, запись и чтение из файлаl

Добавлено через 2 минуты
Цитата Сообщение от Deviaphan Посмотреть сообщение
Это
File_db >> tempPtr->data_fio >> " ";
Вообще что?
Контретнее ЭТО File_db >> tempPtr->data_fio >> " "; вообще что?
Ну вообще я так хотел из файла прочитать информацию и занести ее в data_fio и data_tel :-)
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
03.06.2011, 06:12 #4
Цитата Сообщение от UKOL Посмотреть сообщение
я так хотел
Но программа делает не то, что вам хочется, а то, что вы запрограммировали.)
File_db >> " " вообще не скомпилируется. Невозможно осуществлять запись в статическую константу.

Цитата Сообщение от UKOL Посмотреть сообщение
Но вот как тогда мне из файла данные занести в программу
Добавить к классу метод Read и вызвать его после создания объекта.
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
03.06.2011, 16:23  [ТС] #5
Хорошо, тогда какой код писать в Read(), хотябы примерчик
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
03.06.2011, 16:31 #6
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
void List::Read
{
 
 ifstream File_db( "db_tel.txt", ios::in);
 
 if(!File_db)
 {
 cerr << "File coult not be opened!\n" << endl;
 exit(1);
 }
 
 ListNode < NODETYPE > *currentPtr = firstPtr;
 ListNode < NODETYPE > *tempPtr;
 
 while( getch() != EOF )
 {
 tempPtr = currentPtr;
 File_db >> tempPtr->data_fio >> " ";
 File_db >> tempPtr->data_tel >> '\n';
 currentPtr = currentPtr->nextPtr;
 
 } // конец while
 
 File_db.close();
 
} // конец
ForEveR
В астрале
Эксперт С++
7971 / 4733 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
03.06.2011, 23:21 #7
Deviaphan,
C++
1
2
File_db >> tempPtr->data_fio >> " ";
 File_db >> tempPtr->data_tel >> '\n';
Подозреваю что это стоило бы исправить.
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
03.06.2011, 23:31  [ТС] #8
Цитата Сообщение от ForEveR Посмотреть сообщение
Подозреваю что это стоило бы исправить.
Если не затруднит то поподробнее... пожалуйтса.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
04.06.2011, 06:34 #9
Цитата Сообщение от UKOL Посмотреть сообщение
Если не затруднит то поподробнее... пожалуйтса
Цитата Сообщение от Deviaphan Посмотреть сообщение
File_db >> " " вообще не скомпилируется. Невозможно осуществлять запись в статическую константу
Я же уже всё объяснил...

Цитата Сообщение от ForEveR Посмотреть сообщение
Подозреваю что это стоило бы исправить.
Моя копи-пастилка не умеет исправлять.)
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
04.06.2011, 12:00  [ТС] #10
Все, разобрался!!! Благодарю!

Но опять проблема, немогу понять почему не идет запись русского текста, вроде подключил setlocale(LC_ALL, "Russian")

Русский выводит в консоли хорошо, а вот запись - крякозябры
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
04.06.2011, 12:06 #11
Для потока локаль задай. imbue.
ForEveR
В астрале
Эксперт С++
7971 / 4733 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
04.06.2011, 12:07 #12
UKOL, Запись не пойдет так. Либо используйте спец функции системы, либо std::codecvt вероятно может помочь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2011, 12:07
Привет! Вот еще темы с ответами:

Не могу считать из файла (посимвольно считать строчку) - C++ Builder
Пытаюсь посимвольно из файла считать строчку.выдаёт access violation=(((.FILE* file11; file11=fopen(&quot;records.txt&quot;,&quot;r&quot;); for (int...

Считать данные с ComboBox - C++ Builder
Доброго времени суток. Подскажите пожалуйста, как считать данные с комбо бокса? Пытаюсь сделать так, но считывает только количество записей...

Считать данные в структуру - C++ Builder
Здравствуйте. У меня проблема не могу считать данные из бинарного файла в поле структуры (тип поля-AnsiString). Какой ф-ей...

Считать данные из надписи - C++ Builder
Доброго времени суток! У меня возникает проблема: есть надпись и из нее нужно считать что именно видит пользователь. Попробовала прописать...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.06.2011, 12:07
Ответ Создать тему
Опции темы

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