From: Gunnar A. <gu...@na...> - 2002-05-19 17:46:26
|
Greetings! Consider the following program: #include <stdio.h> int main( void ) { FILE *s = fopen( "A:/dummy.txt", "a" ); if ( s == NULL ) puts( "fopen failed" ); else { fputs( "yo\n", s ); fclose( s ); } return 0; } When compiled with MinGW-1.0.1-20010726 and run on a system where the floppy disc in A: is write protected, Windows displays an error message before "fopen failed" is written to stdout. Is there any way to avoid this behavior? / Gunnar |
From: Oscar F. <of...@wa...> - 2002-05-19 23:01:06
|
Gunnar Andersson <gu...@na...> writes: > Greetings! > > Consider the following program: > > > #include <stdio.h> > > int main( void ) { > FILE *s = fopen( "A:/dummy.txt", "a" ); > > if ( s == NULL ) > puts( "fopen failed" ); > else { > fputs( "yo\n", s ); > fclose( s ); > } > > return 0; > } > > > When compiled with MinGW-1.0.1-20010726 and run on a system where the > floppy disc in A: is write protected, Windows displays an error > message before "fopen failed" is written to stdout. I'm using MinGW 1.1 and no Windows message is showed. > Is there any way to avoid this behavior? Checking file attributes before the fopen, perhaps? A similar problem was discussed on August last year with Subject "Problem with opendir (different than DJGPP)" -- Oscar |
From: Benjamin R. <Ben...@ep...> - 2002-05-20 13:38:34
|
Hi Gunnar, Gunnar Andersson <gu...@na...> writes: > FILE *s = fopen( "A:/dummy.txt", "a" ); > > [...] > > When compiled with MinGW-1.0.1-20010726 and run on a system where > the floppy disc in A: is write protected, Windows displays an error > message before "fopen failed" is written to stdout. Is there any > way to avoid this behavior? See the Windows API SetErrorMode(), the flag SEM_FAILCRITICALERRORS should help. NB: This is a generic DOS/Windows question, not specific to Mingw. so long, benny |