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

вопрос по ostream::write(). - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ прграммирование в С++ http://www.cyberforum.ru/cpp-beginners/thread97484.html
Всем доброго времени суток. Помогите пожалуйста в решении КР, катастрофически не хватает времени, кое-что знаю, но этого не достаточно для решения следующих задач на языке С++: 1. .тема: строки -...
C++ как хранить поток? задача такая: класс имеет конструктор, этому конструктору при создании объекта класса передаёться поток ostream , соответственно объект класса должен как-то хранить информацию о потоке. как это... http://www.cyberforum.ru/cpp-beginners/thread97470.html
матрица C++
Помогите пожалуйста составить программу... Целочисленную матрицу размера 5x4 заполнить случайными числами из диапазона . Найти в каждом столбце наибольший элемент и вывести их сумму на экран....
Как управлять мышей с С++? C++
У меня стоит 64-разрядный Windows 7, и на нем не работает обычная C++, посоветуйте, что сделать для ее запуска. Как управлять мышкой через С++? у меня почему-то не стоит библиотека <mouse.h>, и...
C++ Строка ... http://www.cyberforum.ru/cpp-beginners/thread97417.html
Все доброго времени суток ... есть функция: #include "stdafx.h" #include <conio.h> #include <fstream> #include <iostream> #include <string.h> #include <ctype.h> using namespace std;
C++ как применять diff файл на ресурсы c++ как применять diff файл на ресурсы c++ такие файлы как .c и .h желательно на гайдик ссылку PS: может быть не там написал, заранее извиняюсь подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,775
20.02.2010, 17:05
ZigaZaga, вот так всё работает:
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>
 
int main(){
    const char *FILE_NAME = "test.dat";
    long x = 222;
    
    std::cout << "X = " << x << std::endl;
    std::ofstream ofs(FILE_NAME, std::ios::binary);
    if ( !ofs.is_open() ){
        std::cerr << "Can't open file for output!" << std::endl;
        return 1;
    }
    ofs.write((const char*)&x, sizeof(x));
    if ( ofs.bad() ){
        std::cerr << "Can't write to file!" << std::endl;
        return 1;
    }
    ofs.close();
    
    x = 333;
    std::cout << "X = " << x << std::endl;
    
    std::ifstream ifs(FILE_NAME, std::ios::binary);
    if ( !ifs.is_open() ){
        std::cerr << "Can't open file for input!" << std::endl;
        return 1;
    }
    ifs.read((char*)&x, sizeof(x));
    if ( ifs.bad() ){
        std::cerr << "Can't read from file!" << std::endl;
        return 1;
    }
    ifs.close();
    std::cout << "X = " << x << std::endl;
    
    return 0;
}
Читал где-то, что без достаточно веской на то причины не стоит объединять потоки ввода/вывода. То есть, нужно писать в файл - открыл для записи, записал, закрыл. Нужно читать - открыл для чтения, прочитал, закрыл. Бывают, конечно, задачи, когда обязательно нужно и то и другое сразу, но тогда и решения должны быть несколько сложнее...
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru