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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 74, средняя оценка - 4.76
maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
#1

Считывание до конца файла - C++

16.08.2012, 15:29. Просмотров 10640. Ответов 6
Метки нет (Все метки)

В каждой строке файла 2 целых числа.
Нужно считать по 2 числа до конца файла и выводить в каждую строку сумму этих двух чисел.
Раньше с файлами в С++ не работал.
Можете объяснить как считывать ,выводить данные и какие команды что делают?
Искал в интернете нормальные описания, но не нашёл.
Пожалуйста, помогите разобраться
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2012, 15:29     Считывание до конца файла
Посмотрите здесь:

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

Считывание байтов с конца файла - C++
Добрый день, уважаемые форумчане. Возник вопрос: Как считывать байты с конца файла? Конкретно: Имеется файл (.txt) в котором находится...

Считывание до конца входного потока - C++
Что значит считывание данных до конца входного потока? Знаю, что на C++ реализуется так. А что является концом входного потока? И как это...

Считывание до конца потока в числовой массив - C++
Здравствуйте. Проблема с Как реализовать считывание до конца потока из файла вместе со scanf() или != EOF. В поиске нашёл реализацию...

Перебор файла посимвольно, как организовать цикл, работающий до конца файла. - C++
Нужно перебрать файл посимвольно и, учитывая спецсимволы записать содержимое файла в Memo1. Помогите пожалуйста организовать цикл...

Чтение из файла с конца - C++
Добрый день, не могу реализовать такую штуку =) Хотелось бы имеющийся текстовый файл перезаписать с обратном порядке (все символы...

определения конца файла - C++
Как определить конец файла если я открываю файл fopen и считываю данные через freed ? int reedFileT(Dek *&ldek,Dek *&rdek) { ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
16.08.2012, 15:34     Считывание до конца файла #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
 
int main()
{
    std::ifstream inp("numbers.txt");
    if (!inp.is_open())
        return 1;
    int number1, number2;
    while (inp >> number1 && inp >> number2)
        std::cout << number1 << " + " << number2 << " = " 
                  << (number1 + number2) << std::endl;
    inp.close();
}
SubTerran
8 / 8 / 0
Регистрация: 13.08.2012
Сообщений: 18
16.08.2012, 15:35     Считывание до конца файла #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<fstream>
 
using namespace std;
 
int main()
{
    string namefile = "file.txt";
 
    ifstream ifs(namefile.c_str());
    if (!ifs) cerr << "can't open file\n";
 
    int a = 0;
    int b = 0;
 
    while (ifs >> a >> b)
        cout << a + b << '\n';
    
    system("pause");
    return 0;
}
-=ЮрА=-
Заблокирован
Автор FAQ
16.08.2012, 15:56     Считывание до конца файла #4
maSt, можно считывать в несколько способов, парни выше показали тебе потоковый ввод тобишь ifstream>> сейчас накидаю тебе ещё несколько примеров. Также отмечу что важен формат в котором твои числа хранятся в файле(с истинно бинарными файлами трюк с потоковым вводом не прокатит)
-=ЮрА=-
Заблокирован
Автор FAQ
16.08.2012, 16:17     Считывание до конца файла #5
maSt, ниже пример с текстовым форматом данных с возможностью подсчёта числа параметров в строке а также обнаружением пустых строк
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
#include <string>
#include <sstream>
#include <fstream>
#include <iostream>
using namespace std;
 
int main()
{
    int val;
    int count;
    string line;//Áóäåò ñîäåðæГ*ГІГј òåêóçóþ ñòðîêó ГЁГ§ ГґГ*éëГ*
    ifstream ifs;//ÎáúÿâëåГ*ГЁГҐ ïîòîêГ* Г·ГІГҐГ*ГЁГї
    stringstream ss;//Ñòðîêîâûé ïîòîê (òîæå Г·ГІГ® ГЁ ifstream
    //Г*Г® äëÿ ñòðîêè - óäîáГ*Г*Гї ГўГҐГ№Гј âîáùåì)
    //Г‡Г*ïîìГ*ГЁ ГЅГІГі ГґГЁГ·Гі Г± open
    ifs.open("input.txt");//Г€Г*èöèГ*ëèçГ*öèÿ ïîòîêГ* Г·ГІГҐГ*ГЁГї
    if(!ifs.is_open())//ÏðîâåðêГ* îòêðûëñÿ ГґГ*éë èëè Г*ГҐГІ
        cout<<"Error open input.txt\n";
    else
    {
        //Åñëè Г±ГѕГ¤Г* ïîïГ*ëè ГІГ® ГґГ*éë ГўГ±Вё ГІГ*ГЄГЁ îòêðûëñÿ
        //ÈòГ*ГЄ Гї îáåùГ*Г« Г·ГІГ® Г·ГІГҐГ*ГЁГҐ áóäåò ГЎГҐГ§ ïðÿìîãî ïîòîêâîãî ââîäГ*
        while(getline(ifs,line))
        {
            count = 0;
            //Ïî÷åìó Г·ГЁГІГ*ГҐГ¬ Гў ñòðîêó? - Ïîòîìó ГЄГ*ГЄ ìîæåì
            //ïðîâåðèòü Г±ГЁГІГіГ*öèþ êîãäГ* ñòðîêГ* ГЇГіГ±ГІГ*
            //ëèáî êîãäГ* Гў Г*ГҐГ© 1-Г* ëèáî áîëåå ГЇГ*Г°Г*ìåòðîâ
            //ГІГ*êîé ââîä>> Г*ГҐ ïîçâîëèò Г*Г*Г¬ âûÿâëÿòü ГІГ*ГЄГЁГҐ ìîìåГ*ГІГ»
            cout<<line<<" params count: ";
            ss.str(line);//Г€Г*èöèГ*ëèçèðóåì Г*Г*ГёГҐГ© ñòðêîîé ïîòîê
            while(ss>>val)
                count++;
            if(count == 0)
                cout<<"line is empty!";
            else
            {
                cout<<count<<" params : ";
                //ГЋГІГ¬Г*ГІГўГ*ГҐГ¬ ñòðèГ*ãïîòîê ГўГ*Г*Г·Г*ëî
                    ss.clear();//ÑáðГ*ñûâГ*ГҐГ¬ ГґГ«Г*ГЈ EOF Гў ñòðèГ*ãïîòîêå
                ss.seekg(0,ios::beg);//Г¤Г*Г*Г*ûõ ñòðîêè
                while(ss>>val)
                    cout<<val<<" ";
            }
            ss.clear();//ÑáðГ*ñûâГ*ГҐГ¬ ГґГ«Г*ГЈ EOF Гў ñòðèГ*ãïîòîêå
            cout<<endl;
 
        }
        ifs.close();//Г‡Г*êðûòèå ïîòîêГ* Г·ГІГҐГ*ГЁГї
    }
    
    return 0;
}
Содержимое input.txt
5 5
15
45 41 54

15 45
21 241 12 12 36
Миниатюры
Считывание до конца файла  
maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
16.08.2012, 16:18  [ТС]     Считывание до конца файла #6
Спасибо всем большое, сейчас буду разбираться.
-=ЮрА=-
16.08.2012, 16:19     Считывание до конца файла
  #7

Не по теме:

maSt, это ещё не всё по чтению файлов, как я говорил есть ещё бинарные файлы в которых числа пишутся байтами и в тектовике такие файлы выглядят абракадаброй, если есть желание могу показать работу с ними

Yandex
Объявления
16.08.2012, 16:19     Считывание до конца файла
Ответ Создать тему
Опции темы

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