So there I was writing a C program on Windows to change some fields in a binary file and copy the rest over as is. The problem was that the output file was always smaller than the input file? A little research showed that the problem was a 0x1A in the file. This is interpreted as an EOF.
Aside: This dates from MS-DOS days. The ASCII character 0x1A or 26 decimal (the "SUB") character was used as the end of file marker for text files. This mode also translates "\r\n" to "\n" for reading and translates "\n" to "\r\n" for writing.
The solution is to read and write the file as binary i.e.
fopen ("File", "rb") or fopen ("File", "wb") where the "b" indicates binary.
Enjoy!
Ideas and thoughts about Microsoft Identity, C# development, cabbages and kings and random flotsam on the incoming tide
Monday, May 29, 2006
Thursday, May 25, 2006
Unix : bdf - free disc space
To see a report of free disc space, the "df" command is the UNIX standard. However, for HP-UX use "bdf". It's more useful.
Enjoy!
Enjoy!
Monday, May 08, 2006
Unix : httpget
Very useful utility to check if a server can access URL's programmatically i.e. without using standard IE browser port 80. Useful if you think firewalls, proxies etc. will get in the way.
Usage : httpget http://www.testsite.com
Enjoy!
Usage : httpget http://www.testsite.com
Enjoy!
Monday, May 01, 2006
Unix : Find a list of files and compile them
Very easy way to find a list of files in a directory and compile them all via a shell script without having to manually find and compile each one:
for i in $(ls *.c); do
done
This looks for a list of C files and then compiles them. You need to substitute the actual name of your compiler for the "compile" part of the script.
Enjoy!
for i in $(ls *.c); do
compile $i
done
This looks for a list of C files and then compiles them. You need to substitute the actual name of your compiler for the "compile" part of the script.
Enjoy!
Subscribe to:
Posts (Atom)