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

C++ чтение из файла в класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Касательно указателей и функций http://www.cyberforum.ru/cpp-beginners/thread451348.html
Уважаемые, назрел вот какой вопрос. Делаю вот так: TVozmGrup MassVG; GetVGArroundVG(MassVG); void GetVGArroundVG(TVozmGrup *MassVozmGrup) { . .
C++ Литература. Ув. форумчане, помогите с литературой по С. Я смотрел одноимённую тему, и по моему мнению это уже серьёзные книги. Мне бы чтонибуть для начинающих, для полных чайников, т.к. мне нужно очень много... http://www.cyberforum.ru/cpp-beginners/thread451345.html
C++ Вывести на экран результат сложения в троичной системе счисления.
Пользователь вводит 2 строки символов длиной 5, содержащие положительный числа в троичной системе счисления. Произвести сложение 2-х чисел с использованием троичной арифметики . Вывести на экран...
C++ Excel
Как создать простой файл .xls?
C++ Работа с файлами http://www.cyberforum.ru/cpp-beginners/thread451320.html
Здравствуйте помогите написать програмку, которая бы создавала два файла ( имя мы должны написать сами), в первый файл мы вводим вручную какой то текст, после завершение ввода надо что бы текст с 1...
C++ Текущая дата из интернета Уважаемые форумчане, будьте добры, помогите. Как получить текущую дату из интернета, с какого-либо надежного веб-ресурса как time.windows.com. А если нет подключения к интернету то выдавать... подробнее

Показать сообщение отдельно
Az riel
0 / 0 / 0
Регистрация: 17.10.2011
Сообщений: 21

C++ чтение из файла в класс - C++

23.02.2012, 13:16. Просмотров 1035. Ответов 1
Метки (Все метки)

Файл
test.txt
n1 01 e1 0.1
n2 02 e2 0.2
n3 03 e3 0.3
n4 04 e4 0.4
n5 05 e5 0.5
n6 06 e6 0.6
n7 07 e7 0.7
n8 08 e8 0.8
n9 09 e9 0.9
n10 10 e10 1.0

Пытаюсь записать в массив объектов:
C++
1
2
3
4
5
6
7
8
file = fopen (filename,"r");            //fscanf
for(int i=0;i<=10;i++)
{
fscanf(file,"%s %l", t[i].name,&t[i].kod);
cout << "name  - " << t[i].name  << endl;
cout << "kod  - " << t[i].kod << endl;
}
fclose(file);
В итоге name записывает последовательнно все елементы в себя ( n1 01 e1 0.1 ), а kod - первое значение берется из конструктора по умолчанию, остальные не записываются вообще. Пробовал и по отдельности fscanf, пробовал fread,ifstream. fgets не подходит думаю т.к. наверняка не знаю размер каждого елемента.

Попробовал вот так:

C++
1
2
3
4
5
for(int i=0;i<=10;i++)
{
fscanf(file,"%s %l %s %f",t[i].name,&t[i].kod,t[i].edinica,&t[i].cena);
cout << t[i].name <<t[i].kod <<t[i].edinica<<t[i].cena <<endl;
}
Считывает, но после последнего елемента выводит кучу крокозябр
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru