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

Чтение файла как hex - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разбор задания http://www.cyberforum.ru/cpp-beginners/thread365488.html
Добрый вечер уважаемые эксперты! Есть следующее задание: составить двусвязный список объектов класса описывающего студента (Ф.И.О. номер группы и т.д.) и найти однофамильцев. Подскажите пожалуйста, как мне составить класс Student (просто сам класс), чтобы его объекты были элементами списка?
C++ Виртуальные методы Здраствуйте , вот писал виртуальный метод доступа но почему то не получаеться , подскажите почему ??? заранее спасибо #include<iostream> using namespace std; class A { public: A(); virtual ~A(){} http://www.cyberforum.ru/cpp-beginners/thread365484.html
Задачи на графы C++
Напишите плз список интересных и популярных задач на графы. Ну или ссылку.
calloc vs malloc C++
Объясните,пжлста,чем отличается malloc oт calloc?
C++ char *p; p="Help"; cout << p[0]; А как вывести адрес? http://www.cyberforum.ru/cpp-beginners/thread365467.html
#include <iostream> #include <new> using std::cout; using std::cin; using std::endl; int bufer; int main()
C++ Посчитать количество возможных башен никак не могу понять, помогите подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
13.10.2011, 11:04     Чтение файла как hex
Gepar, код хреновый, писался очень быстро с целью дампать пакеты, как пример пойдет:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <stdio.h>
#include <string.h>
#include <stddef.h>
#include <ctype.h>
 
void dump(const unsigned char *buf, size_t len) {
    int i = 0;
    int lbix = 0;
    char lbuf[80] = { 0 };
 
    memset(lbuf, ' ', sizeof(lbuf));
    lbuf[sizeof(lbuf) - 1] = '\0';
 
    for (i = 0; i < len; ++i) {
        if ((i & 15) == 0) {
            if (lbix) {
                lbuf[53] = ' ';
                lbuf[54] = ' ';
                lbuf[55] = ' ';
                lbuf[73] = '\0';
                printf("%s\n", lbuf);
            }
 
            memset(lbuf, ' ', sizeof(lbuf));
            lbuf[sizeof(lbuf) - 1] = '\0';
 
            sprintf(lbuf, "%03x:", i);
            lbix = 4;
        }
        else if ((i & 7) == 0) {
            lbuf[lbix++] = ' ';
        }
 
        if (isprint(buf[i]))
            lbuf[56 + (i % 16)] = buf[i];
        else
            lbuf[56 + (i % 16)] = '.';
 
        sprintf(&lbuf[lbix], " %02x", buf[i]);
        lbix += 3;
        lbuf[lbix] = ' ';
    }
 
    lbuf[53] = ' ';
    lbuf[54] = ' ';
    lbuf[55] = ' ';
    lbuf[73] = '\0';
    printf("%s\n", lbuf);
}
 
int main() {
    size_t n = 0;
    unsigned char buf[BUFSIZ] = { 0 };
 
    while ((n = fread(buf, 1, BUFSIZ, stdin)) > 0)
        dump(buf, n);
 
    return 0;
}
temp - это моя программулька.
Код
fasked@nexus:~/Documents/src/temp/Debug$ ./temp < main.d
000: 6d 61 69 6e 2e 64 20 6d  61 69 6e 2e 6f 3a 20 2e   main.d main.o: . 
010: 2e 2f 6d 61 69 6e 2e 63  0a                        ./main.c.
Код
fasked@nexus:~/Documents/src/temp/Debug$ hexdump main.d
0000000 616d 6e69 642e 6d20 6961 2e6e 3a6f 2e20
0000010 2f2e 616d 6e69 632e 000a               
0000019
 
Текущее время: 23:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru