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

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

Войти
Регистрация
Восстановить пароль
 
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 103
#1

Бинарная запись в конец файла JPG и считывание - C++

21.02.2014, 00:23. Просмотров 397. Ответов 3
Метки нет (Все метки)

Здравствуйте, задача поставлена такая: Написать 2 функции. Первая функция записывает бинарные данные в конец файлу к примеру .jpg. Вторая что бы считать файл с конца.
Мой наработанный материал...
C++
1
2
3
4
5
6
void JPG::writeToJpg()       // Записывает в файл
{
    ofstream fileWrite("Cherry.jpg", ios::binary | ios::ate);
    fileWrite.write((char*)&_password, sizeof(_password));
    fileWrite.close();
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string JPG::getPass()      // Считывает с файла
{
    string tmp;
    char symb;
    ifstream fileRead("Cherry.jpg", ios::binary);
    fileRead.seekg(-8, ios::end);      // Размер пока просто подгонял по записываемой строке
    for(int i = 0; !fileRead.eof(); i++)
    {
        if(!fileRead.read((char*)&symb, sizeof(char)))
            continue;
        tmp.push_back(symb);
    }
    return tmp;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2014, 00:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Бинарная запись в конец файла JPG и считывание (C++):

Запись в конец файла - C++
Доброго времени суток. Простенькая задачка: Есть вещественные числа, записанные в файл. Нужно посчитать их сумму и записать в конце...

Запись в конец файла - C++
Создать текстовый файл message.txt (например в редакторе «Блокнот»), содержащий текстовое сообщение, состоящее из нескольких строк текста....

Считывание файла в массив и запись нового файла - C++
Консоль VS C++. Текстовый файл открывается как бинарный, и считывается по 100 байт в массив - и сразу они переписываются в другой файл. В...

Запись структуры в конец файла - C++
Доброго времени суток. Подскажите, пожалуйста, как записать структуру в конец файла? Сначала создаётся структура и записывается в...

Запись информации в конец файла - C++
Доброго времени суток!Появилась небольшая проблема, помогите, пожалуйста.Необходимо записать информацию в конец файла, у меня получается...

Запись строки в конец файла - C++
всем привет. подскажите пожалуйста, почему не работает этот код #include <iostream> #include <fstream> using namespace std; ...

3
alsav22
5435 / 4830 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.02.2014, 00:54 #2
Зачем посимвольно читать? Как записывали, так и читайте. Когда курсор будете передвигать, не применяйте в параметрх seekg(), sizeof(), а то проблемы будут с отрицательным смещением. Сначала величину смещения курсора вычислить (через sizeof()), потом передать это смещение, с отрицательным знаком, в seekg().
1
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 103
21.02.2014, 01:32  [ТС] #3
Изменил, выводит установленное слово как нужно. Но по окончании работы программы выводится окно с ошибкой которое постоянно грузится....
C++
1
2
3
4
5
6
7
8
9
string JPG::getPass()
{
    string tmp;
    char symb;
    ifstream fileRead("Cherry.jpg", ios::binary);
    fileRead.seekg(-_size, ios::end);     // _size - это поле класса которое принимает размер слова которое записано как _size = sizeof(_password);
    fileRead.read((char*)&tmp, sizeof(_password));  // _password - записанное в него слово, когда ставлю просто string, выдает ту же ошибку
    return tmp;
}
0
alsav22
5435 / 4830 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.02.2014, 01:58 #4
string не подходит для таких дел. Память под string, это не сама строка.

Добавлено через 2 минуты
Если нужно именно бинарное чтение\запись, используйте, вместо string, массивы char фиксированного размера.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 01:58
Привет! Вот еще темы с ответами:

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

Запись и считывание в/из ФАЙЛА - C++
Есть программа По вычислению СЛАУ методом Гаусса. Помогите сделать так, что бы можно было считывать и записывать в ФАЙЛ: СЛАУ и его...

Запись и считывание из файла - C++
Написал 2 метода, один из них запись в файл, а другой соответственно считывание из него. Как модифицировать код записи так, чтобы он в...

Считывание и запись файла блоками - C++
Консоль VS C++. Текстовый файл открывается как бинарный, и считывается по 100 байт в массив - и сразу они переписываются в другой файл. В...


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

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

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