🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc.misc
Article #3305

Turbo C, fopen(), fprint() and ^Z - The solution.

#3305
From: Graham Brand
Date: Wed, 26 Sep 1990 18:12
23 lines
1592 bytes
Dear All,

	Thanks to the 6 or so of you who replied. No one respondent in
particular was completely correct; the solution turned out to be a
combination of things. Most people mentioned the history of CP/M and ^Z
and so suggested using the fseek(fp,-1L,SEEK_END) approach. A couple
suggested using the "b" access_mode option as in 
fp=fopen("filename","rb+"). The solution that worked uses both of these.
I must admit that I am not too sure why, but having spent more time on
this simple problem than I had intended, I shan't worry about it too 
much.

	Before I lay the problem to rest, though, there is one peculiar
aspect that I have not resolved. It is the fact that, before I added the
fixes to the program, even if I ensured that the file did **NOT** have 
a ^Z eof termination when I started, my program would prepend a ^Z to 
any line of text that was added to the end of the file. The only file
operations that were done in the program were fopen() and fprintf()? 
Where was the ^Z coming from and which of the changes, fseek(.,-1L,.) or
fopen(.,"b"), cured it?

Thanks for all your help,
-Graham
Technical Details
Message-ID: <38823@ucbvax.BERKELEY.EDU>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!aplcen!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!swrinde!ucsd!ucbvax!janus.Berkeley.EDU!brand

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!aplcen!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!swrinde!ucsd!ucbvax!janus.Berkeley.EDU!brand
From: brand@janus.Berkeley.EDU (Graham Brand)
Newsgroups: comp.sys.ibm.pc.misc,comp.sys.ibm.pc.hardware,comp.lang.c
Subject: Turbo C, fopen(), fprint() and ^Z - The solution.
Message-ID: <38823@ucbvax.BERKELEY.EDU>
Date: 26 Sep 90 18:12:18 GMT
Sender: usenet@ucbvax.BERKELEY.EDU
Reply-To: brand@janus.Berkeley.EDU
Lines: 23