Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
10 / 10 / 1
Регистрация: 16.12.2012
Сообщений: 141
1

Шестнадцатеричый дамп

11.04.2013, 03:04. Показов 2385. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, господа. Возник вопрос. Написано в задание создать класс массив для хранения строк и реализовать методы вывода массива строк в текстовом виде и в виде шестнадцатеричного дампа. Так вот. Как сделать вывод в виде шестнадцатеричного дампа? Что такое дамп? Правильно ли я понял смысл, что массив объектов класса стоит сделать, или в самом классе реализовать массив? И можно ли пользоваться string в этом случае? Вот код:
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
#include <iostream>
#include <string>
 
using namespace std;
 
class Array{
    public:
        string name;
        Array(){};
    private:
        friend istream& operator >> (istream& in, Array& obj){
            cin>>obj.name;
            return in;
        };
        
        friend ostream& operator << (ostream& out, Array& obj){
            cout<<obj.name;
            return out;
        };
 
};
 
int main(){
    Array a;
    cin>>a;
    cout<<a;
//  cout<<hex(a.name);
    return 0;
};
Добавлено через 18 минут
Сори за ошибку в название темы. Как ее исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2013, 03:04
Ответы с готовыми решениями:

Дамп файла
Доброго времени дня. Помогите разобраться с простой задачей. Преподаватель пишет на листике...

Дамп бинарного файла
Программа, которая будет выводить шестнадцатиричный дамп бинарного файла (вместо каждого байта...

Дамп бинарного файла
Нужно вывести 16-ричный дамп бинарного файла, создав его заменой каждого байта входного файла...

Дамп БД Access + дамп структуры БД
Здравствуйте! СУБД: MS Access 2013. Имеется форма, на которой есть две кнопки: &quot;Создать...

2
390 / 365 / 111
Регистрация: 03.02.2013
Сообщений: 1,120
11.04.2013, 03:32 2
Написано в задание создать класс массив для хранения строк
очевидно они хотят видеть вместо
C++
1
string name;
C++
1
vector<string> name;
так как просят массив строк, а не одну строку

C++
1
и реализовать методы вывода массива строк
я подозреваю тут надо либо внести в public-класса метод типа
C++
1
2
3
4
5
        
void Array::show() {
                            for (vector<string>::iterator it=name.begin(); it!=name.end(); ++it)
                                 cout<<*it<<endl;
};
а не перегружать операторы >>
хотя может и я слишком дословно понимаю...

hex-дамп вы можете получить уже обойдя саму строку и разобрав символы из которых она состоит, понимая каждый символ строки как число, для моей структуры будет выглядеть как-то так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void Array::showh() {
                            for (vector<string>::iterator it=name.begin();
                                it!=name.end();
                                ++it)
                            {
                            string mystr = *it;
                            cout<<"0x";
                            for (string::iterator it2=mystr.begin();
                                it2!=mystr.end();
                                ++it2)
                                cout<<hex<<(int)(*it2);
                                cout<<endl;};
                            }
если все закорючки правильно поставил - должно работать, но я не проверял

может есть и какой-то другой способ, я об этом никогда не задумывался, сделал бы так

Добавлено через 10 минут
кстати можно попробывать кастануть reinterpret_cast<int>() но мне не совсем понятно над чем кастовать

Добавлено через 3 минуты
вот нашёл на мсдн-е
http://msdn.microsoft.com/en-u... s.80).aspx
как они его кастуют над адресом массива, чтобы получить хеш-функцию, как бы предполагается что адреса всех элементов различные
можно по аналогии попробывать для объектов string-а
1
10 / 10 / 1
Регистрация: 16.12.2012
Сообщений: 141
11.04.2013, 10:33  [ТС] 3
Спасибо большое. Буду разбираться =)
0
11.04.2013, 10:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2013, 10:33
Помогаю со студенческими работами здесь

СМА BOSCH WAB16262ME, ошибка E16, поправьте дамп, Ошибка E16, поправьте дамп епром
Принесли на ремонт плату. Из инфы пока эта. E-NR WAB16262ME/22 При любом повороте селектора...

СМА Indesit WIN602(EU), нужен дамп прошивки или конфиг, не включается, нужен дамп прошивки или конфиг
После ремонта блока питания и замене ШИМ, СМА не включается поделитесь пожалуйста дампом прошивки...

sql дамп
добрый день! никак не могу найти нормальный php-скрипт который делает sql дамп определенных...

Дамп не проходит
Ругается на мой дамп: на 14 строке Duplicate entry '1' for key 'primary' Почему добликат, ведь...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru