[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]![]() |
![]() |
![]() |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
![]() |
![]() |
![]() |
> En måde at undgå alle disse goto'er er at åbne og lukke filerne i en > funktion og køre funktionaliteten i en anden. > > concept code: > > int funktionalitet(FILE *fil) { > /* gør noget med fil og returner ved fejl */ > } > > int openclose() { > FILE > *fil = fopen(...); > > if (fil) > funktionalitet(fil); > else > ;/* fejl melding */ > > fclose(fil); > } Dette bliver straks en del mere kompliceret med flere fejlkilder, som i vores tilfælde. Men det kunne da være interessant at se en fuld version med denne teknik og sammenligne. Jeg er stadigvæk af den overbevisning, at versionen med gotos er nemmest at forstå. > i C++ er det noget lettere Helt enig. I C++ kan man - i vores tilfælde - fuldstændig undgå gotos OG få mere læsbart kode. Nu er det dog en C routine der blev efterspurgt.
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |