Find HexEdit Control C++

Hello,

hope to get some help here. I am looking for a control (MFC) to view data in Hex format. Like a normal HexEditor will do. (Adress, Hex, ASCII).
The control i need must have following methods:

- Print (Printer/Paper) Text Formated as in the Control
- Save Data to textfile (Text Formated as in the Control).

Like I give of block of 128 Bytes to the Control. It shows me the 126 Bytes in 16 Byte rows.
Similar to : 000000 0x00 0x00 0x00 .... 0x00  0x00  .............
I want to receive the data as a string like formated above. Not the Byte array.

Freeware or Commercial. I have no problem to pay for those things.  I found some controls but none of the mcan print or save the data as viewed inside the control.

Thanks,

Ingo
OcranaAsked:
Who is Participating?
 
evilrixSenior Software Engineer (Avast)Commented:
Converting data bytes to hex isn't hard. Why not just write a converter and just display the output in your control of choice?
// Q&D example of hexing data
#include <iostream>
#include <sstream>
#include <iomanip>
 
char const DATA[] = "any old data";
 
int _tmain(int argc, _TCHAR* argv[])
{
	std::stringstream ss;
 
	for(char const * p = DATA; *p ; ++p)
	{
		ss << std::hex << static_cast<int>(*p);
	}
 
	std::cout << ss.str();
}

Open in new window

0
 
Jaime OlivaresSoftware ArchitectCommented:
Well, it is a very specific requirement, there are some commercial controls like this:
http://www.filedudes.com/Hex_Editor_ActiveX_Control-download-27563.html
it prints and copies to clipboard but doesn't save. You won't find any exact match.

There are lots of open-source hex controls at www.codeproject.com, just search there for the keywords: hex editor
0
 
evilrixSenior Software Engineer (Avast)Commented:
I should point out that the point of the previous example was to show how to hex bytes not how to parse the aw data. My Q&D example will parse until I hits a NULL char. Obviously this won't work if your data contains NULLs. You should, of course, choose an appropriate 8-bit safe method for traversing your data. I kept it simple, on purpose, so as not to obfuscate the point I was making.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.