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

Считывание из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Принадлежность множеству http://www.cyberforum.ru/cpp-beginners/thread630915.html
На дельфи есть прекрасный оператор IN, который проверяет принадлежность множуству (я это так называю) То есть if Key IN then ... А как такое реализовать на С++?
C++ Задача на рекурсию Задание : Напишите функцию возведения в степень, которая работала бы как для положительных, так и для отрицательных значений n: a^(-n)=1/a^n. Что-то написал, только для отрицательных значений степени выводит 0 , помогите найти ошибку . http://www.cyberforum.ru/cpp-beginners/thread630892.html
C++ Создание проекта Hello World
Самое дно программирования на Сишке и уже какая-то проблема. Облазил много страниц, но именно своей проблемы не нашел. Делаю все по книге Либерти Джонса "Освой самостоятельно за 21 день". Создаю пустой проект, создаю файл "Файл C++". И тут начинается первая нестыковка c книгой. В книге: Во вкладке Файл выберите пункт С++ и введите его имя hello. У меня: Нету куда вводить имя, изменить имя...
C++ Дозапись в бинарный файл
Всем привет! Необходимо в процессе работы программы производить дозапись в бинарный файл. Как я понимаю необходимо спозиционировать put - указатель в конец файла и произвести дозапись. Только не совсем понимаю как поставить указатель на конец файла. И нужно тогда поставить флаг при создании файла, а какой? Заранее спасибо.
C++ Как правильно применять оператор switch http://www.cyberforum.ru/cpp-beginners/thread630878.html
Подскажите пожалуйста, в чём здесь ошибка. Язык С++. Среда C++ Builder 6. void __fastcall TForm1::Button1Click(TObject *Sender) { int a,a1,b,e1; a=Edit1->Text.ToInt(); b=Edit2->Text.ToInt(); switch (a) { case 1: a==2; Label3->Caption="Ошибка"; break;
C++ Дерево отрезков Добрый день, помогите пож-та решить задачи на с++. Нашел решение (расписаны все алгоритмы, процедуры подсчета и т. д.), но сложность состоит в том, что я не понимаю строищихся структур и вообще никогда не программировал на c++.Поэтому прошу помочь собрать все воедино (чтение из файла, работа программы, запись в файл). Основная задача - считать с файла, воспользоваться функцией, вывести в файл ... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
31.07.2012, 11:26     Считывание из файла
Вот простой вариант на плюсах без мап и векторов(ИМХО без них в этом задании не обойтись при построении высокоуровневого кода)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <fstream>
#include <iomanip>
#include <iostream>
using namespace std;
 
//Íåáîëüøîé âåëîñèïåäèê ГЇГ® äèГ*Г*ìè÷åñêîìó Г*ëëîêó Гў ïëþñГ*Гµ
template <class T>
T * cpp_realloc(T * ptr, int size)
{
    T * mem = new T[size];
    if(ptr)
    {
        mem = new T[size];
        memcpy((void *)mem,(void *)ptr,size);
        delete [] ptr;
    }
    return ptr = mem;
}
 
//1946 12 30 0 -519 0 -490 0 9999 9 0 2 0
struct FILE_DATA
{
    int year;
    int month;
    int day;
    int param4;
    int param5;
    int param6;
    int param7;
    int param8;
    int param9;
    int param10;
    int param11;
    int param12;
    int t;
};
 
int main()
{
    int i;//Ñ÷¸ò÷èê
    int n = 0;//Áóäåò ñîäåðæГ*ГІГј ÷èñëî Г±ГЁГІГ*Г*Г*ûõ ñòðîê
    FILE_DATA * pList = NULL;//ÓêГ*Г§Г*òåëü Г*Г* Г¬Г*Г±Г±ГЁГў ñòðóêòóð FILE_DATA
    ifstream file("input.txt");//Г€Г*èöèГ*ëèçèðóåì ïîòîê Г·ГІГҐГ*ГЁГї
    if(!file.is_open())
        cout<<"Error open input.txt\n";
    else
    {
        //Âûäåëÿåì ГЇГ*ìÿòü ïîä ïåðâóþ ñòðóêòóðó Г¬Г*Г±Г±ГЁГўГ*
        pList = new FILE_DATA[1];
        for(n = 0; !file.eof(); )
        {
            //Г‚ ïëþñГ*Гµ Г*Г*ГЄГЁГ*ГіГў if òîæå ìîæГ*Г® ïðîâåðèòü 
            //êîððåêòГ*îñòü Г·ГІГҐГ*ГЁГї ГЇГ*Г°Г*ìåòðîâ
            if
            (file>>pList[n].year
                >>pList[n].month
                >>pList[n].day
                >>pList[n].param4
                >>pList[n].param5
                >>pList[n].param6
                >>pList[n].param7
                >>pList[n].param8
                >>pList[n].param9
                >>pList[n].param10
                >>pList[n].param11
                >>pList[n].param12
                >>pList[n].t
            )
            {
                //Åñëè Г·ГІГҐГ*ГЁГҐ ГіГ±ГЇГҐГёГ*Г® ГЇГҐГ·Г*ГІГ*ГҐГІ n-ГіГѕ ñòðóêòóðó
                cout<<setw(4)<<pList[n].year<<" "
                    <<setw(2)<<pList[n].month<<" "
                    <<setw(2)<<pList[n].day<<" "
                    <<pList[n].param4<<" "
                    <<pList[n].param5<<" "
                    <<pList[n].param6<<" "
                    <<pList[n].param7<<" "
                    <<pList[n].param8<<" "
                    <<pList[n].param9<<" "
                    <<pList[n].param10<<" "
                    <<pList[n].param11<<" "
                    <<pList[n].param12<<" "
                    <<pList[n].t<<endl;
                n = n + 1;//óâåëè÷èâГ*ГҐГ¬ Г±Г·ВёГІГ·ГЁГЄ ñòðóêòóð
                pList = (FILE_DATA *)
                    cpp_realloc//Óâåëè÷èâГ*ГҐГ¬ ГЇГ*ìÿòü ïîä Г¬Г*Г±Г±ГЁГў ñòðóêòóð
                    (
                        pList, 
                        (1 + n)
                    );
                
            }
        }
        file.close();
        if(n == 0)
            cout<<"File input.txt not contain correct data"<<endl;
        else
        {
            cout<<"Totlal count of read structures "<<n<<endl;
            //çäåñü Гі Г*Г*Г± Г¬Г*Г±Г±ГЁГў ñòðóêòóð ГЁГ§ n ýëåìåГ*òîâ
            //Г¤Г*ëåå äåëГ*Г¬ Г± Г*ГЁГ¬ Г·ГІГ® äóøå óãîäГ*Г®
        }
    }
    cout<<"Enter any key for exit"<<endl;
    getchar();
    return 0;
}
Проверка http://codepad.org/k438viRn
Миниатюры
Считывание из файла  
 
Текущее время: 02:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru