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

Чтение бинарного файла в поток std::ifstream и вывод в другой бинарный файл std::ofstream (создание копии) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вызов деструктора для класса в векторе http://www.cyberforum.ru/cpp-beginners/thread1304877.html
Уважаемые знатоки, подскажите по-поводу деструктора класса, а то я совсем запутался вот в такой ситуации: - есть класс - Ship; - от него унаследовано два класса - BigShip, SmallShip; - затем я создаю глобальный вектор указателей на базовый класс - vector<Ship*> Ships(10); - по указателям выделяю память Ships = new BigShip; Ships = new SmallShip;... Ships = new BigShip; И вот нужно ли в...
C++ Дано два одномерных массива размерностью n, сложить сумму этих массивов и найти наибольшее значение Дано два одномерных массива размерностью n, сложить сумму этих массивов и найти наибольшее значение. Решите пожалуйста :) http://www.cyberforum.ru/cpp-beginners/thread1304875.html
Вывести список всех файлов из указанной директории C++
Помогите сделать , в задание нужно Вывести список всех файлов из указанной директории, имена которых не соответствуют шаблону имени 8.3.
Как правильно брать координаты курсора по событию WM_LBUTTONDOWN в x64? C++
Как правильно брать координаты курсора по событию WM_LBUTTONDOWN в x64? В x32 было x=LOWORD(Lparam); y=HIWORD(Lparam);. А в x64 как? По идее HIWORD в 64-хбитном типе - это в котором единица весит 281474976710656. Или нужно старшее слово младшего двойного слова?
C++ Нужно записать две строчки в другом виде http://www.cyberforum.ru/cpp-beginners/thread1304855.html
Всем доброго времени суток, нужно записать две выделенные строчки в другом виде, наподобие этих строчек: int sumNeg(int *a, int size) { int tmpSum = 0; for (int i = 0; i < size; ++i) if (*(a + i) < 0)//Операция получения значения переменной, хранящейся по адресу, полученное в скобке tmpSum += *(a + i); return tmpSum; Код программы: #include <iostream>...
C++ Есть ли способ, зная ссылку на класс, использовать его значения без запроса по ссылке? скажем есть 2 класса class ItemList { public: ItemList(); int item; int count; Func*func; } подробнее

Показать сообщение отдельно
Pchel
1 / 1 / 0
Регистрация: 04.11.2012
Сообщений: 26
19.11.2014, 13:55  [ТС]     Чтение бинарного файла в поток std::ifstream и вывод в другой бинарный файл std::ofstream (создание копии)
Это и ежу понятно!

Добавлено через 7 минут
Сейчас все работает хорошо!!! Но
C++
1
fout.write(content.c_str(), content.size());
Не пишет файл почему-то. Не создается файл с таким именем в нужной директории(в папке Debug).
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
int main()
{
std::ofstream fout("copy_test.exe", std::ofstream::binary);// создаём объект класса ofstream для записи и связываем его с файлом 
 
    std::string full_path = "C:\\test.exe";
    std::ifstream is;
    is.open(full_path.c_str(), std::ios::in | std::ios::binary);//ios::binary - бинарное открытие,ios::in - операции ввода
 
    is.seekg(0, is.end);
    long long int length = is.tellg();
    is.seekg(0, is.beg);
 
    std::cout << length;
 
    if (!is)
    {
        std::cout << "Файл не найден";
        return 1;
    }
    char buf[512];
    std::string content;
    while (is.read(buf, sizeof(buf)).gcount() > 0)//если количество символов, прочтенных при последней операции неформатированного ввода >0
    {
        content.append(buf, is.gcount());// то добавляем в строку это кол-во символов.
        std::cout << '*';
 
    }
    std::cout<<content.size();
    fout.write(content.c_str(), content.size());
    fout.close();
    std::cout << '*';
// закрываем файл
    _getch();
    return 0;
}
 
Текущее время: 16:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru