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

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

Войти
Регистрация
Восстановить пароль
 
kalenikov
0 / 0 / 1
Регистрация: 25.01.2013
Сообщений: 22
#1

Бинарные файлы в С++ - C++

06.12.2013, 15:58. Просмотров 727. Ответов 6
Метки нет (Все метки)

У меня есть програмка которая находит наименьший общий делитель числа
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
#include<iostream>
using namespace std;
int main()
{
    int n;
    int m;
    int k;
    int i=0;
    cin>>n;
    cin>>m;
    cin>>k;
    k=k-1;
    while(true)
    {  k++;
        float n1=n%k;
        float m1=m%k;
        
        float sum1=m1+n1;
        if(n1==0 & m1==0)
            {cout<<k;
        continue;}
    }
    
    system("pause");
    return 0;
}
Но мне нужно что бы все значения читались из фала(*.dat) и записывались в файл(*.ans). Завтра олимпиада, а я не в ладах с файлами!!! HELP!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 15:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Бинарные файлы в С++ (C++):

Бинарные файлы c++ - C++
Здравствуйте. Нужно в бинарный файл записать строку (нового стиля), единственное что известно, так это то, что в строке не более 16...

Бинарные файлы - C++
Всем добрый день/вечер/ночь! У меня такой вопрос. Создал структуру и записал в файл. При записи в пошаговом режиме - все нормально....

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

Бинарные файлы - C++
Ребята у вас есть какие та примеры программок работы с бинарными файлами, к примеры поменять местами максимальные и минимальные значения...

Бинарные файлы - C++
Ребята, нужна Ваша помощь. Как реализовать вот эту штуку ? Буду признателен за любые идеи В первом файле хранится k матриц из n строк...

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

6
gooseim
Эксперт С++
510 / 414 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
06.12.2013, 16:07 #2
Если минимум исправления вашего кода, то как-то так можно:
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
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    std::ifstream in("my.dat", std::ios::binary);
    std::ofstream out("my.ans", std::ios::binary);
    cin.rdbuf(in.rdbuf());
    cout.rdbuf(out.rdbuf());
    int n;
    int m;
    int k;
    int i=0;
    cin>>n;
    cin>>m;
    cin>>k;
    k=k-1;
    while(true)
    {  k++;
        float n1=n%k;
        float m1=m%k;
        
        float sum1=m1+n1;
        if(n1==0 & m1==0)
            {cout<<k;
        continue;}
    }
    in.close();
    out.close();
    system("pause");
    return 0;
}
Добавлено через 49 секунд
Не, не будет работать. У вас же бинарный файл.

Добавлено через 2 минуты
Используйте ifstream::read и ofstream::write
0
kalenikov
0 / 0 / 1
Регистрация: 25.01.2013
Сообщений: 22
06.12.2013, 21:39  [ТС] #3
Цитата Сообщение от gooseim Посмотреть сообщение
Если минимум исправления вашего кода, то как-то так можно:
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
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    std::ifstream in("my.dat", std::ios::binary);
    std::ofstream out("my.ans", std::ios::binary);
    cin.rdbuf(in.rdbuf());
    cout.rdbuf(out.rdbuf());
    int n;
    int m;
    int k;
    int i=0;
    cin>>n;
    cin>>m;
    cin>>k;
    k=k-1;
    while(true)
    {  k++;
        float n1=n%k;
        float m1=m%k;
        
        float sum1=m1+n1;
        if(n1==0 & m1==0)
            {cout<<k;
        continue;}
    }
    in.close();
    out.close();
    system("pause");
    return 0;
}
Добавлено через 49 секунд
Не, не будет работать. У вас же бинарный файл.

Добавлено через 2 минуты
Используйте ifstream::read и ofstream::write
Я не много неправильно выразил условие. Мне нужно что бы эта программа считовала значение с файла и записывала в него(без cin и cout).
0
kalenikov
0 / 0 / 1
Регистрация: 25.01.2013
Сообщений: 22
06.12.2013, 22:48  [ТС] #4
У меня есть програмка которая находит наименьший общий делитель числа
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
#include<iostream>
using namespace std;
int main()
{
    int n;
    int m;
    int k;
    int i=0;
    cin>>n;
    cin>>m;
    cin>>k;
    k=k-1;
    while(true)
    {  k++;
        float n1=n%k;
        float m1=m%k;
        
        float sum1=m1+n1;
        if(n1==0 & m1==0)
            {cout<<k;
        continue;}
    }
    
    system("pause");
    return 0;
}
Но мне нужно что бы все значения читались из фала(*.dat) и записывались в файл(*.ans).Все данные нужно считать тупо с файла(без cin) и записать тупо в файл(без cout). Завтра олимпиада, а я не в ладах с файлами!!! HELP!!!
P.S. Эта тема уже была, но я ничего не понял((((
0
kazak
3057 / 2378 / 160
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
06.12.2013, 23:01 #5
8 и 9 строчку убираете, вместо
Цитата Сообщение от gooseim Посмотреть сообщение
cin>>n;
* * cin>>m;
* * cin>>k;
пишете
C++
1
2
3
in >> n; 
in >> m;
in >> k;
вместо
Цитата Сообщение от gooseim Посмотреть сообщение
cout<<k;
C++
1
out << k;
1
alsav22
5435 / 4830 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.12.2013, 23:03 #6
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
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    int n;
    int m;
    int k;
    int i = 0;
    ifstream fin("in.dat");
    if (fin)
    {
        ofstream fout("out.ans");
        
        fin >> n >> m >> k;
        fin.close();
        k=k-1;
        while(true)
        {  
            k++;
            float n1=n%k;
            float m1=m%k;
        
            float sum1=m1+n1;
            if(n1==0 & m1==0)
            {
                fout << k << endl;
                continue;
            }
        }
        fout.close();
    }
    else cout << "Error!" << endl;
    
    system("pause");
    return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от alsav22 Посмотреть сообщение
while(true)
Выход из цикла?

Добавлено через 1 минуту
Цитата Сообщение от kalenikov Посмотреть сообщение
Бинарные файлы в С++
Или чтение/запись в бинарном режиме нужны?
1
kalenikov
0 / 0 / 1
Регистрация: 25.01.2013
Сообщений: 22
06.12.2013, 23:24  [ТС] #7
Буквально минутой назад понял всё сам, но все равно всем спасибо!!! Тема закрыта!!!
0
06.12.2013, 23:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 23:24
Привет! Вот еще темы с ответами:

Бинарные файлы - C++
Нужна помощь Во время работы программы если взять много значений программа вылетает. Уже все перепробывал. не знаю что делать ...

Бинарные файлы - C++
Есть 2 текстовых файла .В первом информации представлена в след виде:номер и ФИО,во втором номер Группы,и оценки по предметам.Так мне нужно...

Бинарные файлы - C++
как в бинарном файле заменить 4, 8 и 10 байт

С++ бинарные файлы - C++
Вот мой чудо-код, но он походу только *.txt файлы открывает, а мне нужно что бы и бинарные тоже. Прошу помощи!!! #include &quot;stdafx.h&quot; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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