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

Потоковый ввод из файла вместе с классом. Не пойму в чем причина - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переделать программу что бы была через map http://www.cyberforum.ru/cpp-beginners/thread1086119.html
#include <iostream> #include <conio.h> #include <windows.h> #include <vector> using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); struct zap
C++ Как определить строковую переменную? Првиет всем! Ситуация такая.Мне нужно что бы введенная строка загрузилась в переменную.А далее эта переменная была переданна в качестве аргумента функции.Примерно так. std::cin>>stroka FILE *L = fopen (stroka ,"r"); \\ тут строка это путь к TXT файлу.Который мы открываем с "r" (Аргумент или т.д) http://www.cyberforum.ru/cpp-beginners/thread1086111.html
C++ string[] в char[][] или char[]
Приветствую! Можно ли одномерный массив типа string переписать в двумерный или одномерный типа char? Если да, то как? Заранее спасибо :thank_you:
C++ Сделать через map
#include <iostream> #include <conio.h> #include <windows.h> #include <vector> using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); struct zap
C++ Компиляция библиотеки libxml под c++ http://www.cyberforum.ru/cpp-beginners/thread1086074.html
Под libxml есть библиотека xmlwrapp позволяющая работать с libxml под с++. Проблема в ее компиляции: по адресуhttp://libxmlplusplus.sourceforge.net/скачал исходники и с помощью msbuild собрал через master.proj либы, подключил к своему проекту, но он ругается на "undefined reference" вызываемых функций. Подключил вроде правильно (работаю под qt, но думаю это не имеет значения), сами libxml...
C++ Зависимость от динамических библиотек Как определить от каких дин. библиотек зависит приложение, в Linux ldd в Windows есть что то подобное? подробнее

Показать сообщение отдельно
Nozi
0 / 0 / 0
Регистрация: 31.01.2014
Сообщений: 5
31.01.2014, 13:44     Потоковый ввод из файла вместе с классом. Не пойму в чем причина
Привет народ. У меня такая проблема. Пишу лабораторную, и не могу таким способом (показан ниже) ввести всю таблицу и сохранить внутри программы. В этой лабораторной изучается раздел Классы, но видимо причина не в этом.
До этого делал лабораторную со структурой и такой же ввод с помощью while выводил мне все, что есть в файле, все данные сохранялись в поток, а оттуда в массив структур.

Вот пример ввода моей программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int read(char* file_name, Man planets[], char* pName,float diam,bool life, int sput, int l_name, int& kol_planet)
{   
    ifstream plan(file_name);
    
    while (plan)
    {
        
        plan>>pName;
            planets[kol_planet].name(l_name,pName,kol_planet);
        plan>>diam;
            planets[kol_planet].metr(diam);
        plan>>life;
            planets[kol_planet].sLife(life);
        plan>>sput;
            planets[kol_planet].snic(sput);
        kol_planet++;
        
    }
    
    cout<<endl<<"Прочитано!"<<endl;
    return kol_planet;
}
а вот, что лежит в файле:

Mercury 4878 false 0
Venus 12104 false 0
Earth 12774 true 1
Mars 6786 true 2
Jupiter 142796 false 16
Saturn 120000 false 17
Uranus 51108 false 5
Neptune 49600 false 2
Pluto 2280 false 1

так вот. считывается только первая строка, а при новом заходе в цикл, он якобы не выполняется и соскакивает.

Если что:

C++
1
Man *planets=new Man(pName,diam,life,sput,l_name);
и
C++
1
char *file_name = "planeta.txt";
Пробовал .eof(), и через getline, а ведь в предыдущей лабе мой способ работал.
Помогите разобраться
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru