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

Ввод/вывод двоичных файлов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как записать число которое имеет 22 цифр http://www.cyberforum.ru/cpp-beginners/thread323276.html
Здравствуйте! cin>>4958439238923098349024 cout<<-3689348814741910324 Как сделать чтобы число ввести и вывести было одинаковым! Пробовал int __int64 and long long не помогает... Как сделать? Заранее благодарен!
C++ И снова у меня ошибка в коде Всем доброго времени суток! У меня не пашет опять прога, я не знаю в чём ошибка, вот задание Реализовать умножение двух матриц А(3*4) и В(4*3) когда элементы этих матриц находятся в двух одномерных массивах #include<stdio.h> int main() { int i, j, k, a, b, c; printf("\nvvedy matrycu a: \n"); for(i=0; i<3; i++) for(j=0; j<4; j++) http://www.cyberforum.ru/cpp-beginners/thread323267.html
C++ выбрать последующую литературу...
подскажите какие из этих книжек стоит выбрать для дальнейшего прочтения или лучше прочитать их все? на данный момент изучаю по книге: 1. стенли липпман вводный курс 4 издание а вот список книг, которые для себя выбрал для дальнейшего прочтения 2. Керниган Б., Ритчи Д. Язык программирования Си / Пер. с англ., 3-е изд., испр. — СПб.: «Невский Диалект», 2001. 3. Эккель Б. Философия С++....
C++ Простой клас Student
Очень прошу помочь мне разобратся в следующем вопросе,который звучит так: Методами ООП С++ создать простой клас Student ,создать экземпляры этого класа,и используя свойство инкапсуляции,исследовать возможность доступа к объектам этого класа напрямую или же через указатель. Прошу Вас помочь мне...заранее ООоооОчень благодарен!!!!
C++ изменить пример http://www.cyberforum.ru/cpp-beginners/thread323229.html
помогите изменить примеры). Пример записи данных в разделяемую память: #include <stdio.h> #include <sys/mman.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <string.h> /* компилировать следует, с подключением библиотеки librt
C++ Очередь Здравствуйте, Уважаемые форумчане :) Вот есть такая задача: Используя очередь, решить задачу: в файле находится текст, сбалансированный по круглым скобкам. Требуется для каждой пары соответствующих открывающей и закрывающей скобок напечатать номера их позиций в тексе, упорядочив пары номеров по возрастанию номеров позиций открывающих скобок. Например, для текса a+(45-f(x)*(b-c)) надо... подробнее

Показать сообщение отдельно
vladislav5
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 48
20.06.2011, 17:12     Ввод/вывод двоичных файлов
Нужно чтоб первый создаваемый файл был двоичным и данные в нем в двоичном режиме
Вот мой код
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
108
109
110
111
112
113
114
115
116
117
118
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <locale>
#include <iterator>
#include <conio.h>
#include <string>
#include <vector>
#include <algorithm>
#include <time.h>
 
using namespace std;
 
 
#define M 3
#define L 2
#define K 3
#define MAX_VALUE 100
 
 
typedef vector<vector<double> > matrix_2;
typedef matrix_2::iterator m2Iter;
typedef vector<matrix_2> matrix_3;
typedef matrix_3::iterator m3Iter;
 
int main()
{
        
        srand(static_cast<unsigned>(time(NULL)));
        setlocale(LC_ALL, "Russian");
 
 
        cout << "Введите имя создаваемого файла" << endl;
        string fileName;
        cin >> fileName;
 
 
        {
                
                ofstream file(fileName.c_str(), ios::trunc | ios::binary);
                
                if (file.fail())
                {
                        cout << "Невозможно создать файл " << fileName << endl;
                        _getch();
                        return EXIT_FAILURE;
                }
 
                
                matrix_3 v(M, matrix_2(L, vector<double>(K)));
 
                // сгенерируем созданную матрицу  и сразу выводим ее в файл;
                for (m3Iter i = v.begin(), end = v.end(); i != end; ++i)
                {
                        for (m2Iter j = i->begin(), end = i->end(); j != end; ++j)
                                for (vector<double>::iterator k = j->begin(), end = j->end(); k != end; ++k)
                                        file << (*k = rand() % MAX_VALUE) << " ";
                        file << endl;
                }
        
                file.close();
        }
        
 
        cout << "Файл " << fileName << "создан " << endl << endl;
 
 
        {
                
                ifstream ifile(fileName.c_str(), ios::binary);
 
        
                cout << "Введите имя второго файла" << endl;
                cin >> fileName;
                ofstream ofile(fileName.c_str(), ios::trunc);
 
                if (ofile.fail())
                {
                        cout << "Не удалось создать файл " << fileName << endl;
                        _getch();
                        return EXIT_FAILURE;
                }
 
                
                matrix_3 v(M, matrix_2(L, vector<double>(K)));
 
                
                for (m3Iter i = v.begin(), end = v.end(); i != end; ++i)
                        for (m2Iter j = i->begin(), end = i->end(); j != end; ++j)
                                for (vector<double>::iterator k = j->begin(), end = j->end(); k != end; ++k)
                                        ifile >> *k;
                ifile.close();
 
                
                for (m3Iter i = v.begin(), end = v.end(); i != end; ++i)
                {
                        vector<double> tmp(L);
                        for (size_t k = 0; k < K; ++k)
                        {
                                vector<double> tmp(L);
                                for (size_t j = 0; j < L; ++j)
                                {
                                        tmp[j] = i->operator[](j)[k];
                                        ofile << i->operator[](j)[k] << " ";
                                }
                                
                                ofile << " ";
                        }
                        ofile << endl;
                }
        
                ofile.close();
                cout << "Файл " << fileName << " создан" << endl;
        }
 
        _getch();
        return EXIT_SUCCESS;
}
в частности интересуют 40, 57,70,75,91 строчки.В общем все с вводом и выводом
вот условие задачи так может пригодится
Дан двоичный файл, содержащий расположенные по строкам M двумерных
вещественных массивов, каждый размером L X K ( L строк, K строк ).
Каждый элемент массива помещен в отдельную запись.
Составить программу, формирующую этот файл (например, 3 массива
размером 2 на 3).
Сформировать из этого файла другой, литерный файл, в котором кажда
запись представляет собой столбец двумерного массива.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru