Afficher un message
Vieux 20/10/2007, 21h00   #2
Keith Thompson
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Goto still considered ful

Tor Rustad <tor_rustad@hotmail.com> writes:
> CBFalconer wrote:
> [...]
>
>> You don't need all that confusing local declaration of variables,
>> etc. Consider:
>> int fcopy(char const *dst, char const *src) {
>> FILE *sf, *df;
>> int ch
>> if (sf = fopen(src, "r") { /* text files */
>> if (df = fopen(dst, "w") {
>> while (EOF != (ch = getc(sf))) putc(ch, df);
>> fclose(df);
>> }
>> fclose(sf);
>> }
>> return sf && df; /* non-zero for success */
>> }
>> which I consider more readable and safer than your version. :-)

>
> This is good-weather code, and has nothing to do with "safe" code in
> production.
>
> Just on my first read, I think you need to consider:
>
> - fopen failure
> - getc failure
> - putc failure
>
> far more carefully.


I believe it already handles fopen failure correctly.

I agree about getc and putc.

--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
  Réponse avec citation
 
Page generated in 0,05475 seconds with 9 queries