Преобразование указателя на int в указатель на char

Однако оператор static_cast<char *> в этом случае не подходит,  потому что преобразование указателя на int в указатель на char компилятор считает опасным и просто отказывается это делать. Вот для таких рискованных  трансформаций и предназначен оператор reinterpret_cast<>().

#include <fstream> 
#include <iostream> 
using namespace std: 
int main() { 
    int i = 1234567, j = 0: 
    fstream f; 
    f.open("test", ios::out); 
    f.close(); 
    f.open("test", ios::in | ios::out | ios::binary); 
    f.write(reinterpret_cast<char*>(&i), sizeof(i));
    f.seekg(-sizeof(int), ios::cur); 
    f.read(reinterpret_cast<char*>(&j), sizeof(int));
    cout << j << endl; 
    f.close();
}



OZON.ru - Книги | Самоучитель С++ | Александр Крупник | Самоучитель | Купить книги: интернет-магазин / ISBN 5-469-00468-6OZON.ru - Книги | Самоучитель С++ | Александр Крупник | Самоучитель | Купить книги: интернет-магазин / ISBN 5-469-00468-6