Форум программистов, компьютерный форум 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:55     Считывание из файла
Вот вариант с картой
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
#include <map>
#include <vector>
#include <fstream>
#include <iomanip>
#include <iostream>
using namespace std;
 
//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 n;
    FILE_DATA pDATA = {0};//Òåïåðü Г*Г*Г¬ Г*ГіГ¦Г*Г* ГўГ±ГҐГЈГ® 1-Г*Г* ñòðóêòóðГ*
    //Г‡Г*ìåГ*ГЁГ¬ Г*Г*Гё ГіГЄГ*Г№Г*òåëü Г*Г* Г¬Г*Г±Г±ГЁГў Г*Г* ГЄГ*ðòó (Г¬Г*ГЇГі)
    map<int, FILE_DATA> mymap;
    map<int, FILE_DATA>::iterator it;//ГЁГІГҐГ°Г*òîð (ГІГЁГЇГ* Г±Г·ВёГІГ·ГЁГЄГ*)
    ifstream file("input.txt");//Г€Г*èöèГ*ëèçèðóåì ïîòîê Г·ГІГҐГ*ГЁГї
    if(!file.is_open())
        cout<<"Error open input.txt\n";
    else
    {
        //Âûäåëÿåì ГЇГ*ìÿòü ïîä ïåðâóþ ñòðóêòóðó Г¬Г*Г±Г±ГЁГўГ*
        for(n = 0;!file.eof(); )
        {
            //Г‚ ïëþñГ*Гµ Г*Г*ГЄГЁГ*ГіГў if òîæå ìîæГ*Г® ïðîâåðèòü 
            //êîððåêòГ*îñòü Г·ГІГҐГ*ГЁГї ГЇГ*Г°Г*ìåòðîâ
            if
            (file>>pDATA.year
                >>pDATA.month
                >>pDATA.day
                >>pDATA.param4
                >>pDATA.param5
                >>pDATA.param6
                >>pDATA.param7
                >>pDATA.param8
                >>pDATA.param9
                >>pDATA.param10
                >>pDATA.param11
                >>pDATA.param12
                >>pDATA.t
            )
            {
                //âîò ГІГ*ГЄ äîáГ*âëåì Гў ГЄГ*ðòó ýëåìåГ*ГІ
                //ГЁ Г*ГҐ äóìГ*ГҐГ¬ Г® äèГ*Г*ìè÷åñêîì âûäåëåГ*ГЁГЁ ГЇГ*ìÿòè
                mymap.insert(make_pair(n,pDATA));
                n = n + 1;//óâåëè÷èâГ*ГҐГ¬ Г±Г·ВёГІГ·ГЁГЄ ñòðóêòóð
            }
        }
        file.close();
        if(n == 0)
            cout<<"File input.txt not contain correct data"<<endl;
        else
        {
            cout<<"Totlal count of read structures "<<n<<endl;
            //çäåñü Гі Г*Г*Г± Г¬Г*Г±Г±ГЁГў ñòðóêòóð ГЁГ§ n ýëåìåГ*òîâ
            //Г¤Г*ëåå äåëГ*Г¬ Г± Г*ГЁГ¬ Г·ГІГ® äóøå óãîäГ*Г®
            //ÏîêГ*çûâГ*Гѕ ГЄГ*ГЄ Г·ГЁГІГ*ГІГј ГЄГ*ðòó
            for(it = mymap.begin(); it != mymap.end(); it++)
            {
                pDATA = (*it).second;
                cout<<setw(4)<<pDATA.year<<" "
                    <<setw(2)<<pDATA.month<<" "
                    <<setw(2)<<pDATA.day<<" "
                    <<pDATA.param4<<" "
                    <<pDATA.param5<<" "
                    <<pDATA.param6<<" "
                    <<pDATA.param7<<" "
                    <<pDATA.param8<<" "
                    <<pDATA.param9<<" "
                    <<pDATA.param10<<" "
                    <<pDATA.param11<<" "
                    <<pDATA.param12<<" "
                    <<pDATA.t<<endl;
            }
        }
    }
    cout<<"Enter any key for exit"<<endl;
    getchar();
    return 0;
}
Миниатюры
Считывание из файла  
 
Текущее время: 14:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru