07-11-2007, 11:22 AM | #1 (permalink) |
paranoid
Location: The Netherlands
|
[c] write binary file
Hi guys and gals,
I'm trying to write a small tool in C, and while my programming experience is decent in object Pascal, C# and PHP, my C skills are next to nowhere. Most of the tool is working correctly, but two issues remain: - writing a fixed binary value to file - writing a timestamp to file. I know how to read/write binary streams from a char* type using the function fwrite but I can't figure out how to write a single byte (say: FF) to the same file. The timestamp is of type time_t and the following is therefore not allowed: Code:
fwrite(timestamp, 1, sizeof(timestamp), fp) Any help or pointers (*ouch*) is greatly appreciated.
__________________
"Do not kill. Do not rape. Do not steal. These are principles which every man of every faith can embrace. " - Murphy MacManus (Boondock Saints) |
07-11-2007, 03:43 PM | #2 (permalink) | |
<3 TFP
Location: 17TLH2445607250
|
For reference:
Quote:
__________________
The prospect of achieving a peace agreement with the extremist group of MILF is almost impossible... -- Emmanuel Pinol, Governor of Cotobato My Homepage |
|
07-11-2007, 04:31 PM | #3 (permalink) |
paranoid
Location: The Netherlands
|
I see where you're getting at.
So I'm looking for a way to get byte(FF)+timestamp+byte(FF) into a buffer so I can use fwrite to get that buffer into the file. Trying to create a buffer for the FF byte should be something like this I suppose: Code:
CHAR byteBuffer[1]; byteBuffer[0] = 255; printf("byteBuffer: %X \n", byteBuffer); Output: "byteBuffer: BFFFF48F" Expected: "byteBuffer: FF" How do I tell C that 255 is a single byte value?
__________________
"Do not kill. Do not rape. Do not steal. These are principles which every man of every faith can embrace. " - Murphy MacManus (Boondock Saints) |
07-11-2007, 05:46 PM | #4 (permalink) |
I am Winter Born
Location: Alexandria, VA
|
That's because you're referencing it wrong.
Code:
printf("byteBuffer: %X \n", byteBuffer[0] );
__________________
Eat antimatter, Posleen-boy! |
07-11-2007, 06:01 PM | #5 (permalink) |
paranoid
Location: The Netherlands
|
Thanks a lot! That is indeed the solution.
I've been at this for quite a while trying to get to grips with pointers and casts and streams and such, and sometimes the logical solution eludes I think I've also figured out how to write a timestamp to the file, but I'm gonna toy a bit with it for now. Thanks again for the help. If I get stuck again I'll know where to find ya ;-)
__________________
"Do not kill. Do not rape. Do not steal. These are principles which every man of every faith can embrace. " - Murphy MacManus (Boondock Saints) |
Tags |
binary, file, write |
|
|