C言語なら俺に聞け(入門編)Part 59
■ このスレッドは過去ログ倉庫に格納されています
0760デフォルトの名無しさん
2010/01/27(水) 21:29:34{
if( !name )return FALSE;
if( !open( name ) )return FALSE;
if( !read(1) )return FALSE;
if( !read(2) )return FALSE;
close();
return TRUE;
}
上記のような場合open()の失敗まではreturn FALSE;でいいですが、
read()で失敗した場合close()してreturnしなければいけません。
ですが、いちいちif( !read() ){close();return FALSE;}
と、書くのは面倒ですよね。
かといってgoto使うのも、多段でif使うのもイマイチ。そこで下記のような書き方はどうなんでしょうか?
while( 1 ){
if( !name )return FALSE;
if( !open( name ) )return FALSE;
if( !read(1) )break;
if( !read(2) )break;
close();
return TRUE;
}
close();
return FALSE;
■ このスレッドは過去ログ倉庫に格納されています