2

私はC++で次のメソッドを持っています:

フォルダが既に存在する場合は、正しいメッセージが画面に表示されます。ただし、フォルダが存在しない場合、画面には何も表示されません。つまり、NULL の場合で識別される部分は実行されません。どうすればこの問題を解決できますか?

つまり、フォルダーが存在しない場合に NULL の後にコードを実行するにはどうすればよいですか?

4

2 に答える 2

2

まず、フォルダーが存在しない場合、CreateDirectory()はおそらく成功してゼロ以外の値を返すため、if条件が返され、ステートメントfalseに到達することはありません。switch

次に、GetLastError()宣伝どおりに実行します。最後のエラーを返します。エラーが発生しない場合CreateDirectory()は、他の関数によって設定された最後のエラーを返します。のチェックNULLはあまり役に立ちません。

于 2012-11-07T10:56:33.527 に答える
1

仕様によると、CreateDirectory が成功する限り、戻り値はゼロではありません。

ディレクトリの作成

では、if 節elseを使用してそれを出力してみませんか?

最大で、スイッチでデフォルトを使用して印刷できます

「エラーが発生しました。」

スイッチはエラーの場合にのみ実行されるため

于 2012-11-07T10:54:56.907 に答える