Re: Null-terminated strings: the final analysis.
- From: Flash Gordon <smap@xxxxxxxxxxxxxxxxx>
- Date: Mon, 13 Apr 2009 08:05:10 +0100
Harald van Dijk wrote:
On Sun, 12 Apr 2009 22:57:30 +0100, Flash Gordon wrote:Harald van Dijk wrote:On Sun, 12 Apr 2009 13:32:39 -0700, Keith Thompson wrote:I think you can almost all the time, but it takes a little work...On the systems I use, if I write a '\a' character (ASCII BEL) to aIf you use fgets, you can see any '\0' that you had previously written,
text file, I can reasonably expect to see a '\a' character when I read
it back. The same is not true of '\0' if I use fgets() to read it
(though I think can see the '\0' if I use fgetc()).
but you've got to be careful to make sure you don't treat it as a
terminator. You cannot reliably determine whether the '\0' is a
terminator,
[snip pseudo-code]
I stand corrected. It may even be simpler than you suggested: ignoring the
possibilities of EOF and errors (which you've already handled), after
prefilling the buffer and calling fgets, you can scan the buffer backwards
to find the last '\0' byte. Everything before, including any other '\0' bytes, were read from the file.
My excuse for the long and convoluted method is to show I was handling each possible case ;-)
I agree that filling will '\0' then back searching for the first non-'\0' is better. Error still has to be handled seperately as it leaves the buffer indeterminate. I think end-of-file after a byte has been read is OK, but it is not explicitly stated as being OK.
--
Flash Gordon
.
- Follow-Ups:
- Re: Null-terminated strings: the final analysis.
- From: Keith Thompson
- Re: Null-terminated strings: the final analysis.
- References:
- Re: Null-terminated strings: the final analysis.
- From: Tony
- Re: Null-terminated strings: the final analysis.
- From: Mark McIntyre
- Re: Null-terminated strings: the final analysis.
- From: Mark Wooding
- Re: Null-terminated strings: the final analysis.
- From: CBFalconer
- Re: Null-terminated strings: the final analysis.
- From: Joe Wright
- Re: Null-terminated strings: the final analysis.
- From: Mark Wooding
- Re: Null-terminated strings: the final analysis.
- From: Mark McIntyre
- Re: Null-terminated strings: the final analysis.
- From: Keith Thompson
- Re: Null-terminated strings: the final analysis.
- From: Harald van Dijk
- Re: Null-terminated strings: the final analysis.
- From: Flash Gordon
- Re: Null-terminated strings: the final analysis.
- From: Harald van Dijk
- Re: Null-terminated strings: the final analysis.
- Prev by Date: Re: for loop problem
- Next by Date: Re: Portability regarding sizeof() function
- Previous by thread: Re: Null-terminated strings: the final analysis.
- Next by thread: Re: Null-terminated strings: the final analysis.
- Index(es):
Relevant Pages
|