Solved

i need to  open a file in hex and save all the data to a txt file

Posted on 2000-04-14
4
231 Views
Last Modified: 2010-04-02
i need to  open a file in hex and save all the data to a txt file
0
Comment
Question by:ProgramDesign
  • 2
  • 2
4 Comments
 
LVL 23

Accepted Solution

by:
chensu earned 100 total points
ID: 2718108
Read the binary file as a byte stream. Use the sprintf function to convert each byte to a hex string. Write the strings to the text file.

unsigned char byte;
//...

char buf[8];
sprintf(buf, "%02X ", (unsinged int)byte);
0
 
LVL 22

Expert Comment

by:nietod
ID: 2718310
That is a very C way to do it.  It works, but I'm surprised chensu wasn't more C++ ish.

for a more C++ approach you can open the file with an fstream object and read bytes.  Then ouput the bytes to another fstream object using the hex  i/o manipulator, like

ifstream In("C:\\SOMEFILE.DAT",ios::in | ios::binary);
ofstream Out("C:\\SOMEFILE.TXT",ios::out);

while (true)
{
   unsigned char Chr;
   In  >> Chr;
   if (In.eof()) // If at the end of the file.
      break; // Stop the loop.
   Out << ios::hex << Chr;
};


Depending on what you want the hex to look like, you might want to add spaces and or/controll the width of the hex numbers pritned.
0
 
LVL 23

Expert Comment

by:chensu
ID: 2718554
>but I'm surprised chensu wasn't more C++ ish.

Right. Honestly, I have been doing Windows GUI programming, so I seldom use those stuff, such as cin, cout. The first idea I came up with immediately was to use the Windows API function wsprintf.
0
 
LVL 22

Expert Comment

by:nietod
ID: 2718806
You have to write "I will not use C in C++" 100 times..... :-)
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
TCP/IP Socket - connection close results in data lost 14 152
Which IDE to use to begin C++ training? 5 70
VS2015 compilation and missing DLLs 9 181
c++ syntax question 9 57
Errors will happen. It is a fact of life for the programmer. How and when errors are detected have a great impact on quality and cost of a product. It is better to detect errors at compile time, when possible and practical. Errors that make their wa…
Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question