www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/02/04/17:33:26

Date: Fri, 3 Feb 1995 15:37:11 -0400 (AST)
From: Bill Davidson <bdavidson AT ra DOT isisnet DOT com>
Subject: Re: fwrite and dos files
To: brian AT godzilla DOT MicroUnity DOT com
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu


On Fri, 3 Feb 1995, Brian Smith wrote:

>    I have installed djgpp with gcc version 2.6.0. I am trying to use
> fwrite to write a static character array to a dos file. When I look 
> at the output file with debug, I find that all of my 0xa (LF) have
> been replaced by 0x0d 0x0a (CR/LF).

DOS has two file write modes, binary and text.  Binary mode is "raw", 
byte for byte output, text is "cooked" and performs the transformation 
you noticed.  Hence, if a file is opened in text mode, all newlines are 
written as CR/LF and on reading all CR/LF become newlines.  The default 
file open mode under DOS is text, so if you want to write in binary mode 
you must tell fopen(), like this: 
	fp = fopen ("myfile.ext", "wb");
that is, you must append the letter 'b' to the mode specifier.

Bill Davidson
bdavidson AT ra DOT isisnet DOT com


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019