私はC++で次のメソッドを持っています:
フォルダが既に存在する場合は、正しいメッセージが画面に表示されます。ただし、フォルダが存在しない場合、画面には何も表示されません。つまり、NULL の場合で識別される部分は実行されません。どうすればこの問題を解決できますか?
つまり、フォルダーが存在しない場合に NULL の後にコードを実行するにはどうすればよいですか?
まず、フォルダーが存在しない場合、CreateDirectory()
はおそらく成功してゼロ以外の値を返すため、if
条件が返され、ステートメントfalse
に到達することはありません。switch
次に、GetLastError()
宣伝どおりに実行します。最後のエラーを返します。エラーが発生しない場合CreateDirectory()
は、他の関数によって設定された最後のエラーを返します。のチェックNULL
はあまり役に立ちません。
仕様によると、CreateDirectory が成功する限り、戻り値はゼロではありません。
では、if 節にelseを使用してそれを出力してみませんか?
最大で、スイッチでデフォルトを使用して印刷できます
「エラーが発生しました。」
スイッチはエラーの場合にのみ実行されるため